package p500.srm503;

import utils.ExampleRunner;

/**
 * Created by IntelliJ IDEA.
 * User: smalex
 * Date: 4/16/11
 * Time: 9:02 PM
 */
public class KingdomXCitiesandVillagesAnother {
  public double determineLength(int[] cityX, int[] cityY, int[] villageX, int[] villageY) {
    boolean connected[] = new boolean[villageX.length];
    double result = 0;
    while (true) {
      int index = -1;
      double minD = 11111111;
      for (int i = 0; i < villageX.length; i++) {
        if (connected[i]) {
          continue;
        }
        for (int j = 0; j < cityX.length; j++) {
          double d = evqlid((double) (villageX[i] - cityX[j]),
              (double) (villageY[i] - cityY[j]));
          if (index == -1 || d < minD) {
            index = i;
            minD = d;
          }
        }
        for (int j = 0; j < villageX.length; j++) {
          if (connected[j] && i != j) {
            double d = evqlid((double) (villageX[i] - villageX[j]),
                (double) (villageY[i] - villageY[j]));
            if (index == -1 || d < minD) {
              index = i;
              minD = d;
            }
          }
        }
      }
      if (index == -1) {
        break;
      }
      connected[index] = true;
      result += minD;
    }
//    System.out.println("result = " + result);
    return result;
  }

  private double evqlid(double dx, double dy) {
    return Math.sqrt(dx * dx + dy * dy);
  }

  public static void main(String[] args) {
    ExampleRunner.eq(1, 2.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1}, new int[]{1}, new int[]{2, 3}, new int[]{1, 1}));
    ExampleRunner.eq(2, 2.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 2}, new int[]{1, 1}, new int[]{1, 2}, new int[]{2, 2}));
    ExampleRunner.eq(3, 2.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{2}, new int[]{2}, new int[]{1, 3}, new int[]{2, 2}));
    ExampleRunner.eq(4, 1.4142135623730951, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{5}, new int[]{5}, new int[]{6}, new int[]{6}));
    ExampleRunner.eq(5, 2.8284271247461903, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{0}, new int[]{2}, new int[]{2}));
    ExampleRunner.eq(6, 926552.2676956762, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{920978}, new int[]{375185}, new int[]{228692}, new int[]{991009}));
    ExampleRunner.eq(7, 112477.61464842682, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{358205}, new int[]{466801}, new int[]{367279}, new int[]{354690}));
    ExampleRunner.eq(8, 438771.58370578696, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{235653}, new int[]{398218}, new int[]{262253, 583212}, new int[]{431638, 199588}));
    ExampleRunner.eq(9, 1399296.0268321058, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{299590}, new int[]{877251}, new int[]{481343, 726215, 152216, 471768}, new int[]{1957, 659416, 729639, 83045}));
    ExampleRunner.eq(10, 1880963.937552852, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{176616}, new int[]{277295}, new int[]{141709, 789918, 368490, 602856, 508795, 561687, 352749}, new int[]{451225, 394501, 129007, 94886, 479560, 876074, 797340}));
    ExampleRunner.eq(11, 2296848.948735648, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{274291}, new int[]{615003}, new int[]{747478, 814591, 771752, 49024, 473848, 227605, 802786, 741410, 373945, 857496, 178834, 355820}, new int[]{376002, 47067, 295933, 497966, 719741, 464115, 404221, 944495, 531328, 742435, 460351, 206128}));
    ExampleRunner.eq(12, 2901175.0608081575, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{458410}, new int[]{917508}, new int[]{82202, 233346, 426162, 769495, 27890, 573684, 557712, 315155, 30146, 226536, 580935, 821383, 379915, 417280, 206345, 171741, 205348, 200539, 904411}, new int[]{811160, 874993, 980824, 759252, 541246, 595415, 47531, 303816, 636440, 771556, 118980, 438430, 217, 735735, 875690, 807047, 405088, 150009, 488533}));
    ExampleRunner.eq(13, 4189102.5417514443, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{909261}, new int[]{932302}, new int[]{548278, 46215, 48975, 928305, 516309, 369176, 310820, 54172, 709276, 426469, 384141, 759667, 521798, 739499, 967238, 877009, 168702, 140004, 803093, 333797, 260148, 935145, 930531, 261702, 16267, 110925, 323380, 989898, 349296, 308385, 415153}, new int[]{482944, 105989, 879870, 597621, 673340, 97243, 709059, 690735, 989952, 434120, 116710, 589489, 960206, 426208, 167258, 515515, 923224, 736177, 68308, 319402, 221472, 570968, 507817, 158305, 206670, 400408, 870592, 363677, 247895, 316533, 185393}));
    ExampleRunner.eq(14, 4961629.3826364605, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{832048}, new int[]{102354}, new int[]{627117, 838531, 558860, 268110, 912300, 908475, 748071, 1135, 895346, 164746, 501151, 100902, 439537, 685479, 113180, 475544, 526577, 207504, 523401, 422943, 715869, 797029, 20092, 746776, 947223, 171162, 621663, 335818, 718351, 952889, 575822, 90326, 261005, 224833, 291945, 738605, 497692, 508751, 852297, 470220, 204047, 766392, 431947, 923909, 642006, 500328, 305228, 357224, 925484}, new int[]{972052, 430209, 690827, 819008, 721755, 842830, 170176, 764338, 630560, 737226, 673143, 368946, 409287, 373189, 36025, 258796, 832574, 85436, 475615, 435700, 331417, 982439, 316663, 433937, 430021, 448373, 790565, 61199, 21296, 831531, 428432, 620898, 297831, 784406, 647776, 526313, 535634, 36283, 255526, 799520, 641383, 344209, 102210, 150297, 876797, 736327, 109153, 84732, 582057}));
    ExampleRunner.eq(15, 4879109.383032177, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{387638}, new int[]{217428}, new int[]{229832, 262240, 180375, 282306, 545017, 350691, 912409, 611772, 737792, 531651, 412476, 634624, 659632, 320936, 92404, 321043, 353315, 86759, 872774, 84862, 158591, 685353, 589634, 970853, 832805, 744223, 571481, 481484, 407693, 853226, 29492, 340834, 794551, 434997, 833658, 603613, 992411, 100246, 104588, 946470, 92101, 701173, 106536, 413193, 22074, 532827, 477686, 952873, 338252, 458059}, new int[]{126242, 246023, 770991, 32672, 271026, 749064, 635582, 862855, 535680, 898298, 550478, 717704, 991849, 103614, 708574, 840737, 101782, 533691, 887566, 417790, 954053, 589499, 297124, 845926, 502503, 245280, 897346, 749612, 802420, 500098, 692768, 382807, 946093, 667324, 519859, 510748, 288965, 582045, 71098, 937393, 690692, 663582, 701156, 514230, 784918, 51566, 392160, 272236, 906370, 690410}));
    ExampleRunner.eq(16, 387195.74334695365, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{426228, 719657}, new int[]{61671, 937139}, new int[]{350636}, new int[]{819904}));
    ExampleRunner.eq(17, 696297.3067966143, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{519183, 409501}, new int[]{973724, 465652}, new int[]{429616, 674843}, new int[]{20101, 130788}));
    ExampleRunner.eq(18, 1138289.7060954494, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{683683, 350443}, new int[]{299878, 615375}, new int[]{332607, 400293, 942583, 776093}, new int[]{372517, 865434, 877979, 413954}));
    ExampleRunner.eq(19, 1288955.7005241488, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{668714, 320323}, new int[]{632845, 126772}, new int[]{841754, 188443, 202189, 899813, 31301, 224022, 847915}, new int[]{265051, 561410, 57578, 239871, 309314, 460917, 417364}));
    ExampleRunner.eq(20, 1816510.3308836038, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{110204, 717242}, new int[]{531598, 460647}, new int[]{665472, 351663, 433782, 462242, 226699, 361219, 776227, 330572, 764382, 540747, 772632, 492008}, new int[]{49849, 584264, 294245, 728375, 649455, 547022, 202972, 964670, 532761, 664195, 572049, 515153}));
    ExampleRunner.eq(21, 3137495.919682937, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{551465, 932517}, new int[]{339922, 661670}, new int[]{390019, 640816, 736607, 158254, 805224, 417262, 788451, 97444, 499952, 47846, 479277, 447028, 679142, 285561, 315956, 929275, 904835, 279966, 81069}, new int[]{168258, 573991, 992480, 688888, 138996, 31922, 778481, 564678, 428016, 264334, 107093, 770408, 457535, 749106, 218077, 705976, 570091, 641441, 956720}));
    ExampleRunner.eq(22, 4034436.2214313718, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{330329, 95715}, new int[]{404792, 747591}, new int[]{955215, 44571, 967344, 480674, 327356, 640782, 248858, 750418, 587529, 270995, 809349, 605393, 817271, 564533, 609754, 932190, 544415, 617626, 39782, 563946, 95249, 178521, 43150, 397025, 32312, 184481, 362349, 449474, 994836, 364218, 674255}, new int[]{884167, 52658, 544523, 533689, 478450, 292883, 838423, 534419, 584874, 516803, 175830, 607814, 204961, 666099, 660249, 564968, 976761, 30257, 616799, 367139, 204728, 344107, 447439, 149178, 668020, 841661, 789874, 698120, 14006, 123088, 296407}));
    ExampleRunner.eq(23, 4703068.08483795, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{688056, 791667}, new int[]{737169, 824181}, new int[]{285925, 959479, 717088, 54599, 917334, 343047, 283927, 500878, 217019, 776781, 79845, 198999, 413203, 258970, 647422, 443938, 882087, 783218, 976644, 494782, 491065, 726835, 731688, 761899, 127938, 652199, 828795, 170346, 761451, 380255, 479954, 342218, 227609, 479713, 518751, 616730, 849323, 303306, 608276, 566717, 603884, 980996, 588613, 711674, 99158, 277434, 916122, 978151, 782087}, new int[]{831450, 849872, 54727, 895609, 616249, 832858, 375359, 468408, 381726, 184992, 290115, 444064, 391753, 619758, 50637, 933347, 403417, 599174, 356316, 893978, 356329, 774992, 746212, 467207, 538679, 207783, 851198, 760497, 429317, 408872, 824193, 880540, 643936, 204253, 492994, 9815, 862064, 99510, 65204, 254713, 218915, 951178, 669842, 350063, 91928, 97611, 138151, 662230, 976363}));
    ExampleRunner.eq(24, 4396016.6431327015, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{384982, 987856}, new int[]{819338, 1711}, new int[]{347652, 382275, 455188, 234662, 763763, 759319, 308222, 933099, 216493, 630324, 648367, 150578, 727175, 639878, 270501, 632368, 983412, 787612, 42191, 497502, 379319, 587710, 123251, 225936, 71564, 352171, 439704, 383447, 953913, 316034, 169558, 361067, 42, 628567, 689451, 366686, 901388, 274810, 475204, 401382, 394005, 303699, 293300, 37586, 228970, 508625, 339020, 588496, 536869, 899795}, new int[]{355678, 650959, 509050, 21904, 357045, 263257, 347931, 19896, 550756, 493927, 64944, 145016, 932665, 630656, 627734, 618154, 14642, 957099, 22273, 805954, 256820, 687541, 520809, 858244, 374760, 238431, 502749, 685378, 23325, 742914, 466901, 671469, 148678, 42233, 644568, 68769, 954396, 543138, 19245, 65268, 272052, 352209, 687146, 247212, 872120, 917028, 869692, 339062, 735562, 744820}));
    ExampleRunner.eq(25, 204339.42609540626, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{380129, 813589, 220876, 343154}, new int[]{266480, 800017, 606898, 214579}, new int[]{144643}, new int[]{263035}));
    ExampleRunner.eq(26, 572940.4015297042, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{279847, 535087, 409356, 789192}, new int[]{538648, 583546, 828387, 965443}, new int[]{594099, 837562}, new int[]{536661, 102723}));
    ExampleRunner.eq(27, 984230.7601109595, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{453689, 972416, 34143, 296246}, new int[]{176582, 560684, 27783, 933939}, new int[]{772603, 200418, 994891, 230088}, new int[]{194874, 104691, 939794, 856545}));
    ExampleRunner.eq(28, 1821049.6614945135, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{154373, 119579, 431879, 536266}, new int[]{374731, 952720, 654667, 841235}, new int[]{483053, 806677, 899117, 698375, 339320, 913490, 217072}, new int[]{843957, 77151, 644239, 352805, 189289, 891963, 728235}));
    ExampleRunner.eq(29, 1813210.7016269246, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{825901, 923109, 612866, 3111}, new int[]{508175, 544819, 918000, 361453}, new int[]{774544, 736185, 110204, 67288, 527797, 527425, 145992, 15711, 779347, 552155, 765493, 458069}, new int[]{157484, 894123, 686563, 164969, 68841, 852974, 426541, 362866, 873531, 211335, 769228, 109893}));
    ExampleRunner.eq(30, 2350697.2689320226, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{795902, 654712, 817676, 288719}, new int[]{381177, 927267, 176322, 110718}, new int[]{852307, 523341, 229965, 645979, 659470, 129235, 118443, 686828, 18476, 146123, 526710, 412361, 503869, 768377, 761895, 432263, 118998, 95210, 64731}, new int[]{543403, 481010, 590629, 757763, 691903, 323962, 144946, 416289, 238983, 302468, 604192, 841111, 585572, 321544, 57095, 614201, 955604, 348963, 259688}));
    ExampleRunner.eq(31, 3522825.656600332, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{625225, 470090, 566663, 417905}, new int[]{724202, 754460, 588533, 771990}, new int[]{523322, 529472, 257349, 273637, 415791, 255282, 617549, 759763, 149876, 42413, 227723, 541773, 349846, 125907, 600395, 206997, 17192, 311661, 311150, 944252, 399802, 911109, 253708, 104161, 68130, 685669, 772219, 185801, 757803, 75571, 374020}, new int[]{954881, 669445, 56181, 669710, 296005, 184167, 17176, 568311, 878761, 763586, 107145, 852949, 11862, 435008, 543813, 642216, 736470, 274541, 103797, 726942, 718033, 535850, 189370, 403584, 146574, 814354, 227441, 640564, 311708, 358197, 801069}));
    ExampleRunner.eq(32, 4736295.920591622, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{413, 537538, 665754, 934371}, new int[]{391213, 830574, 367187, 128504}, new int[]{94128, 846537, 388521, 713107, 540827, 676256, 114090, 972436, 607538, 611599, 606935, 484177, 895332, 956421, 907402, 726589, 780461, 43765, 710369, 180163, 575109, 996191, 823392, 989090, 217363, 632538, 141805, 468644, 175428, 635221, 352853, 121357, 971933, 820794, 958995, 451996, 894374, 223301, 935311, 667194, 368576, 976971, 453445, 584517, 389177, 748701, 618545, 912342, 72179}, new int[]{852672, 523737, 618744, 11181, 299737, 226495, 448474, 299891, 730238, 683109, 504119, 125847, 540214, 79584, 409290, 520029, 91624, 168981, 275372, 251195, 856419, 689199, 968626, 430929, 119187, 824298, 635214, 555636, 425064, 601329, 880309, 133313, 683623, 682301, 519456, 534103, 448186, 717766, 730890, 152673, 299731, 28881, 445614, 147372, 738237, 260529, 388557, 590478, 733136}));
    ExampleRunner.eq(33, 4586845.393232771, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{791278, 252591, 565276, 691459}, new int[]{31173, 243273, 146965, 307076}, new int[]{383230, 556465, 779443, 868655, 472422, 239026, 987971, 795176, 925732, 643727, 522697, 571209, 747080, 557248, 7763, 656431, 912476, 959917, 656437, 3829, 187668, 704296, 908059, 430808, 950191, 671863, 308940, 305361, 622370, 405375, 666815, 539626, 274701, 308206, 883611, 96994, 73391, 283915, 337760, 333738, 826256, 797837, 804171, 709716, 521305, 575173, 695395, 285908, 651339, 456732}, new int[]{626770, 50423, 443541, 274913, 840599, 56938, 146703, 736671, 932220, 838074, 715907, 313975, 342299, 830856, 767207, 390993, 212896, 210417, 347070, 647358, 242856, 694138, 17970, 833790, 74534, 991387, 761571, 574520, 381109, 630133, 61805, 579290, 18041, 449637, 312036, 589778, 319790, 981450, 233222, 806450, 524101, 135196, 621697, 426540, 115090, 188119, 633298, 488596, 594115, 53448}));
    ExampleRunner.eq(34, 186607.97810651077, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{906151, 643226, 392016, 479490, 678862, 54725, 855828}, new int[]{553727, 979542, 445640, 248275, 331727, 505117, 371061}, new int[]{158812}, new int[]{659999}));
    ExampleRunner.eq(35, 497058.2475380326, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{992758, 605038, 502117, 220681, 813508, 204607, 619204}, new int[]{868528, 514063, 180210, 716012, 506590, 983346, 661339}, new int[]{36793, 733565}, new int[]{525354, 198518}));
    ExampleRunner.eq(36, 770887.4812394034, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{23394, 644158, 373856, 353110, 346636, 318141, 387436}, new int[]{125580, 21383, 323019, 947081, 727438, 505448, 829398}, new int[]{373976, 861960, 172684, 110603}, new int[]{992474, 394592, 601141, 504691}));
    ExampleRunner.eq(37, 1453052.1704436196, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{107730, 488037, 495049, 770787, 241848, 391193, 334063}, new int[]{833710, 726934, 43329, 747113, 312680, 886006, 283548}, new int[]{727525, 230628, 933110, 579608, 415165, 831519, 866676}, new int[]{205672, 74160, 67268, 320545, 472083, 277125, 522702}));
    ExampleRunner.eq(38, 2008983.125283121, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{878266, 27392, 329488, 749928, 77258, 90148, 351893}, new int[]{495778, 504495, 33928, 343036, 520714, 837606, 481341}, new int[]{723611, 283388, 410127, 525295, 99783, 182281, 95485, 792074, 536501, 976439, 211832, 634821}, new int[]{685956, 451135, 514016, 343237, 623403, 514949, 13799, 480660, 188838, 82393, 824426, 961760}));
    ExampleRunner.eq(39, 2618461.331691049, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{167461, 972, 68183, 775950, 38820, 761429, 573354}, new int[]{230578, 776109, 352865, 791795, 59337, 967447, 805224}, new int[]{310683, 428626, 706585, 25263, 523271, 205995, 162657, 324134, 379586, 546556, 786203, 251922, 925033, 139989, 776689, 10184, 904979, 580336, 481420}, new int[]{673137, 492965, 42610, 17157, 80264, 499709, 417827, 315977, 10094, 899058, 614739, 562152, 809242, 686462, 231842, 87371, 438810, 130063, 605600}));
    ExampleRunner.eq(40, 3070252.983864886, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{147220, 685864, 541398, 289542, 682997, 394125, 86685}, new int[]{523190, 353216, 367020, 384031, 187628, 748052, 698828}, new int[]{362791, 260979, 147849, 492784, 151309, 530409, 941778, 704851, 753343, 464887, 723786, 843225, 908816, 719456, 792773, 1768, 181747, 961887, 700715, 291133, 957639, 945311, 969286, 359612, 502232, 198833, 867784, 276344, 605278, 598039, 838940}, new int[]{338608, 287823, 919468, 443037, 502968, 574788, 629244, 941698, 852071, 957706, 524785, 13328, 44721, 302941, 324640, 155563, 781247, 848097, 454670, 370523, 821542, 899416, 650161, 241127, 342999, 744517, 560557, 776599, 995800, 398051, 599807}));
    ExampleRunner.eq(41, 4372791.652520006, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{72113, 899554, 868783, 488670, 489290, 499957, 382722}, new int[]{20686, 33999, 118767, 159916, 964808, 434601, 469242}, new int[]{603261, 710370, 603833, 368509, 988259, 766714, 159152, 510087, 483059, 18777, 653199, 19878, 565976, 625175, 980769, 53674, 750231, 208021, 710245, 344178, 739882, 329038, 994145, 415624, 458324, 378315, 358961, 771890, 462860, 509368, 404960, 27657, 845585, 546253, 330707, 291331, 519823, 488122, 496493, 509669, 893646, 584838, 323176, 696042, 790790, 229664, 286951, 387939, 11498}, new int[]{742335, 623992, 427702, 471616, 644853, 112036, 364753, 998092, 100699, 901112, 406060, 141868, 27668, 65932, 7896, 584029, 282543, 354063, 576530, 217002, 110892, 417533, 357624, 477203, 952902, 111522, 916693, 924937, 397064, 443628, 563042, 673691, 235678, 74328, 890432, 70588, 138868, 513967, 422245, 954817, 406483, 252606, 875227, 786036, 723910, 195749, 775821, 651036, 934193}));
    ExampleRunner.eq(42, 4310588.431387981, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{243863, 343123, 931293, 192562, 376912, 878659, 162370}, new int[]{860705, 53693, 862946, 937914, 689055, 405080, 772304}, new int[]{811564, 24910, 140933, 957774, 963361, 645971, 481757, 938347, 486602, 872459, 754403, 211169, 260164, 154518, 511660, 911127, 101094, 494961, 693987, 692249, 158671, 426159, 409128, 652183, 65213, 762453, 846893, 285079, 598701, 764379, 274984, 470583, 130040, 618105, 936779, 999874, 685572, 254377, 827536, 508929, 431202, 749364, 763503, 903650, 992540, 28062, 862032, 643602, 501189, 853098}, new int[]{265707, 653239, 239451, 931723, 187437, 768812, 552410, 493255, 182209, 348224, 803752, 946965, 106580, 138822, 316888, 841723, 454536, 242027, 452735, 657348, 856719, 640429, 883005, 414229, 524642, 819616, 492121, 107056, 439597, 628861, 675505, 376078, 484044, 342526, 828853, 95449, 944532, 94699, 906561, 411249, 271381, 278094, 34443, 880703, 668028, 267524, 17145, 992072, 780207, 437967}));
    ExampleRunner.eq(43, 174348.35548407104, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{609059, 51915, 316002, 907830, 212853, 591785, 206638, 959148, 894092, 887843, 49324, 672654}, new int[]{852971, 294630, 306293, 662037, 935258, 162554, 341149, 488640, 862797, 886631, 915905, 911356}, new int[]{933050}, new int[]{316256}));
    ExampleRunner.eq(44, 274528.73643754364, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{421927, 614962, 390704, 646494, 37150, 267412, 143032, 398736, 161318, 594465, 612514, 983262}, new int[]{952738, 275024, 224020, 442620, 962496, 463479, 480265, 734817, 123873, 120465, 7055, 18855}, new int[]{412186, 934760}, new int[]{32585, 84839}));
    ExampleRunner.eq(45, 545485.695127708, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{943942, 919595, 339046, 159391, 277076, 209369, 286880, 296204, 475545, 201727, 337312, 757328}, new int[]{386309, 884368, 534556, 248250, 805885, 832726, 476781, 948412, 213439, 636863, 796193, 949826}, new int[]{321747, 487180, 810174, 818773}, new int[]{259088, 733933, 940440, 272614}));
    ExampleRunner.eq(46, 744327.5638581361, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{326748, 156981, 309922, 432543, 640756, 938223, 637192, 394546, 966365, 749599, 392466, 772002}, new int[]{256866, 184293, 316372, 586998, 641912, 927636, 752926, 112736, 596274, 303676, 25425, 232712}, new int[]{284514, 966646, 199620, 367301, 560783, 229161, 359153}, new int[]{259181, 94687, 303917, 44867, 42781, 389204, 180203}));
    ExampleRunner.eq(47, 1409464.5637013381, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{976202, 822116, 446044, 185848, 90543, 436863, 974389, 384067, 580541, 5570, 800267, 369602}, new int[]{999909, 432923, 977807, 840590, 152212, 358641, 347828, 746390, 187080, 65685, 723691, 686067}, new int[]{768558, 728848, 838089, 696422, 606408, 765713, 496343, 930041, 140772, 464027, 233231, 861550}, new int[]{448884, 516218, 606500, 332789, 518537, 570951, 470060, 105385, 885403, 115160, 366593, 332271}));
    ExampleRunner.eq(48, 2186821.5970305586, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{72172, 397956, 627809, 77004, 734941, 912585, 930851, 424318, 646042, 145208, 697089, 766270}, new int[]{385619, 390938, 286057, 396367, 324351, 91528, 609006, 55757, 708530, 660885, 75248, 837861}, new int[]{960651, 953021, 633888, 563151, 718689, 615497, 765663, 261363, 535351, 629131, 301453, 558958, 280477, 126879, 297913, 333926, 160444, 7943, 620016}, new int[]{748796, 712381, 333069, 706060, 479606, 346497, 211000, 19103, 692448, 984701, 571948, 465995, 704166, 977567, 411648, 777063, 286947, 312831, 571094}));
    ExampleRunner.eq(49, 2896597.455794765, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{18891, 569200, 722201, 363888, 872465, 194510, 402439, 73543, 480458, 184061, 368586, 537484}, new int[]{857204, 634388, 334862, 502063, 899239, 501596, 14463, 961397, 872521, 125836, 473, 702512}, new int[]{777536, 507958, 529259, 875073, 22176, 219536, 297633, 764940, 1162, 708693, 492412, 883497, 173255, 135704, 586530, 281352, 408115, 186543, 954283, 41021, 24386, 239335, 362481, 529116, 723, 285743, 538544, 21503, 273795, 290639, 348895}, new int[]{216427, 303978, 646474, 66649, 444272, 262876, 583424, 688598, 477949, 403601, 782236, 491369, 67557, 60340, 191688, 882565, 789310, 455873, 580115, 976460, 779058, 840519, 522774, 882143, 237808, 11634, 687739, 230298, 157207, 860325, 90490}));
    ExampleRunner.eq(50, 3686078.8556337375, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{742890, 879800, 249882, 509547, 329041, 69961, 411450, 128149, 833085, 215373, 177505, 325066}, new int[]{275510, 929433, 352582, 290904, 52432, 86875, 950942, 459066, 647372, 637327, 753917, 199008}, new int[]{502715, 874716, 459186, 402343, 17619, 650007, 153223, 76905, 730485, 606139, 616307, 119499, 900159, 605218, 607289, 795172, 529144, 940356, 411996, 227403, 661840, 215617, 555462, 334326, 476387, 464880, 711751, 60584, 437751, 208071, 114584, 673543, 191628, 669057, 956597, 33240, 292369, 470498, 59878, 170776, 782287, 147457, 775533, 624445, 910842, 258324, 872758, 706153, 64264}, new int[]{598861, 311853, 223610, 202075, 800642, 267502, 678053, 763, 665366, 660434, 252787, 967891, 334873, 77663, 930284, 110003, 669887, 506829, 342698, 429616, 877410, 333562, 292522, 804446, 458964, 92693, 102878, 130408, 184301, 45040, 3242, 162227, 613899, 603625, 896460, 136935, 248857, 366330, 804824, 536265, 154155, 494037, 726541, 213284, 351015, 543925, 931867, 64385, 375209}));
    ExampleRunner.eq(51, 4035005.756234734, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{186509, 271668, 157796, 987106, 930368, 951617, 620247, 292297, 746439, 12744, 281113, 240398}, new int[]{20861, 219749, 564037, 628294, 565483, 619643, 733903, 767705, 67829, 889383, 923587, 57936}, new int[]{467511, 508303, 214539, 67371, 111927, 139297, 421576, 935017, 691886, 8584, 139035, 598337, 887211, 293356, 53166, 744760, 683908, 731340, 862628, 817996, 174750, 281278, 602195, 503768, 621427, 643213, 331733, 164436, 889629, 424265, 28545, 500472, 459085, 647899, 67521, 814768, 941687, 394096, 830839, 874961, 410215, 212728, 796721, 997890, 871955, 147644, 109678, 131452, 435425, 927476}, new int[]{631655, 692163, 572567, 401049, 857540, 788224, 126403, 870443, 886634, 830633, 300881, 885475, 129580, 686823, 52253, 39177, 771562, 416947, 317211, 974556, 957293, 114825, 216294, 812581, 512352, 760463, 760049, 218943, 457792, 461295, 687524, 712453, 750311, 840213, 465894, 760771, 614545, 62380, 897864, 452266, 36672, 260447, 895664, 686350, 422155, 900500, 166615, 87263, 779351, 21446}));
    ExampleRunner.eq(52, 221766.0196242878, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{763745, 782217, 875287, 286310, 74175, 676890, 716443, 781837, 822280, 718013, 720381, 594734, 550771, 954321, 24036, 7641, 661037, 530210, 3169}, new int[]{260742, 223930, 176312, 224624, 679771, 2890, 408117, 513164, 779727, 694235, 865657, 348558, 726186, 986196, 881796, 787781, 308358, 54822, 816520}, new int[]{279447}, new int[]{595845}));
    ExampleRunner.eq(53, 388942.5910574454, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{496290, 117234, 882954, 725897, 197296, 917967, 828065, 784735, 757386, 883530, 139350, 87701, 718029, 373709, 952931, 835542, 646491, 180452, 851847}, new int[]{474836, 212733, 899071, 705233, 443909, 917677, 512701, 378835, 739055, 781422, 409671, 800387, 617911, 721198, 653156, 449220, 952776, 47943, 906349}, new int[]{753177, 868757}, new int[]{49142, 189642}));
    ExampleRunner.eq(54, 591501.2607991864, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{485319, 702343, 112654, 527607, 278149, 924355, 985844, 502261, 882080, 531207, 422911, 188896, 225641, 28211, 608385, 686959, 630788, 400755, 886030}, new int[]{215320, 788553, 978229, 514684, 666957, 365851, 160882, 359552, 455191, 717622, 177697, 603363, 40742, 497317, 415467, 612203, 907802, 261941, 446861}, new int[]{776625, 113818, 48528, 861861}, new int[]{164178, 700979, 99661, 69289}));
    ExampleRunner.eq(55, 1145581.2145277255, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{459213, 524480, 498561, 686616, 69253, 246699, 928073, 31430, 985786, 41332, 442659, 351900, 610039, 438762, 83878, 246356, 81561, 570509, 755226}, new int[]{262440, 508919, 465890, 687457, 430756, 97464, 855084, 615032, 662218, 905040, 927362, 219283, 465718, 658568, 300622, 61590, 770836, 98621, 775625}, new int[]{786079, 206380, 440442, 924860, 267984, 652590, 815684}, new int[]{824479, 551277, 134453, 471872, 910645, 309316, 95248}));
    ExampleRunner.eq(56, 1113939.9271250877, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{755177, 314531, 151801, 542282, 90914, 815770, 77973, 271097, 680402, 657677, 126951, 539735, 88489, 480954, 635534, 836327, 501219, 274424, 459649}, new int[]{686083, 365215, 271792, 754179, 788638, 172475, 904778, 833199, 575675, 886783, 98118, 51810, 326218, 741079, 815137, 390710, 669358, 171519, 816707}, new int[]{925699, 605344, 723039, 164744, 516515, 606809, 768928, 309308, 304069, 153379, 138876, 600159}, new int[]{550563, 259967, 683317, 512635, 363646, 692691, 733760, 827162, 397798, 785023, 307412, 493703}));
    ExampleRunner.eq(57, 1910455.2337819654, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{698122, 681560, 791397, 789252, 691772, 495561, 596412, 445944, 60949, 324117, 305011, 175537, 31223, 912602, 636328, 700801, 651136, 343994, 523569}, new int[]{619877, 972546, 141208, 235594, 913096, 933310, 178804, 631427, 52752, 829877, 633426, 609080, 328916, 688599, 31259, 852949, 382360, 961032, 651745}, new int[]{196625, 564840, 667149, 389490, 311178, 202843, 317315, 787220, 635433, 340268, 25541, 97792, 348044, 627202, 228459, 343782, 403109, 635770, 106873}, new int[]{733840, 210685, 679752, 631592, 968939, 153794, 507854, 492852, 336942, 66533, 976596, 726342, 267427, 692038, 669270, 425084, 908623, 588757, 543759}));
    ExampleRunner.eq(58, 2876391.4956700834, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{738848, 31196, 571845, 968044, 359863, 214506, 188508, 195225, 3388, 72226, 235306, 818359, 244269, 524710, 328723, 460796, 568133, 46259, 359003}, new int[]{418051, 941691, 348511, 877565, 121975, 700131, 758547, 804800, 543269, 630590, 300685, 97588, 221467, 398538, 631583, 586070, 491992, 658477, 14302}, new int[]{536041, 654777, 418996, 27593, 166583, 675990, 180070, 576494, 527383, 738395, 737800, 683675, 171686, 209086, 428784, 750747, 286954, 233871, 285806, 357170, 329445, 246697, 462954, 26443, 162452, 560929, 387454, 617346, 14910, 295585, 913021}, new int[]{718866, 269047, 361784, 614221, 549481, 757309, 911296, 998429, 820763, 52092, 585617, 198595, 770307, 217945, 568089, 964825, 924023, 224449, 779965, 970889, 33159, 509516, 823191, 990338, 283338, 900252, 244604, 559141, 344931, 443694, 564832}));
    ExampleRunner.eq(59, 3951621.071643309, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{927019, 488854, 461423, 459353, 782548, 370251, 816814, 370934, 342041, 645094, 952137, 666074, 628688, 432913, 161677, 7603, 582906, 768084, 826617}, new int[]{718474, 679389, 293160, 818593, 788799, 547744, 833205, 361756, 51885, 902971, 551048, 87981, 199483, 924273, 864433, 88695, 14957, 562828, 227437}, new int[]{381420, 534735, 675408, 103375, 231803, 98227, 866886, 946445, 175344, 732443, 17903, 991189, 501314, 558964, 655422, 15333, 513243, 307012, 420115, 753492, 892802, 47315, 939081, 292646, 87390, 241180, 437707, 167799, 324962, 726918, 630842, 535724, 810819, 851235, 290121, 919851, 493443, 461110, 997924, 65447, 297344, 227606, 575995, 711071, 640668, 918339, 698738, 934094, 333797}, new int[]{127663, 751671, 351548, 46341, 445416, 395397, 568863, 532959, 575132, 608257, 894120, 25507, 92593, 269397, 385580, 36841, 550068, 188650, 928887, 651919, 370218, 759688, 512259, 114424, 543588, 623793, 232368, 939021, 726763, 980384, 742251, 144085, 361235, 749433, 123225, 182923, 485665, 951024, 753756, 603813, 825128, 253550, 395405, 419456, 437988, 271509, 972563, 28055, 785329}));
    ExampleRunner.eq(60, 3475670.278310521, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{777489, 908554, 843841, 701504, 871520, 577205, 303240, 280593, 646599, 444750, 794544, 314156, 875427, 685445, 559449, 594848, 680159, 71274, 942398}, new int[]{142418, 215838, 920497, 304950, 699427, 455466, 393048, 49345, 375088, 357669, 603917, 712883, 531393, 809520, 537741, 855437, 21901, 42498, 772778}, new int[]{347448, 990705, 787882, 836201, 861789, 962063, 358967, 428955, 987988, 723016, 113900, 248172, 656400, 767649, 970830, 18951, 560961, 279929, 822099, 935817, 117428, 27423, 172984, 186517, 797758, 871403, 710496, 657406, 566404, 613069, 690598, 411009, 641675, 118899, 325567, 184658, 471094, 437891, 705459, 842049, 533941, 933374, 870024, 648331, 52831, 10659, 893419, 513486, 631105, 35864}, new int[]{332416, 924654, 812444, 68475, 482799, 825038, 756606, 191622, 304381, 191931, 282464, 227248, 928331, 727674, 228545, 836777, 9655, 348842, 116130, 202386, 897879, 476396, 974878, 679471, 909533, 911659, 119574, 366895, 943554, 55732, 632020, 251558, 690938, 982273, 54716, 442996, 212081, 162577, 624408, 503216, 231950, 762936, 590779, 954927, 261399, 743429, 940168, 53592, 632386, 475172}));
    ExampleRunner.eq(61, 139845.7238566843, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{205601, 918168, 951103, 839273, 980466, 678277, 431770, 795842, 720929, 256719, 224070, 35688, 244544, 689580, 181559, 350821, 982965, 582355, 143545, 109127, 139946, 675416, 917553, 910508, 952428, 930741, 471604, 812485, 515602, 110296, 783006}, new int[]{220522, 676695, 356058, 656561, 199820, 32905, 611650, 301793, 962672, 773760, 785878, 635988, 549174, 875650, 243943, 387160, 787488, 934067, 940127, 124010, 787404, 90215, 989757, 638481, 685726, 176497, 966429, 716148, 20563, 697162, 979617}, new int[]{602821}, new int[]{765970}));
    ExampleRunner.eq(62, 140836.67647833645, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{767104, 218535, 125301, 71658, 633565, 355462, 736830, 708098, 470195, 384253, 605266, 176445, 254299, 855029, 303357, 803274, 643025, 18108, 867971, 552073, 355339, 89651, 210503, 818424, 473586, 140995, 436412, 236719, 159680, 246514, 549596}, new int[]{185175, 429148, 327662, 265247, 747074, 69617, 784469, 207756, 638838, 941799, 715237, 639368, 805242, 37304, 457849, 588961, 21808, 286825, 89766, 20034, 426034, 610668, 316249, 680698, 202676, 78852, 835940, 209210, 91747, 463038, 568287}, new int[]{51998, 108595}, new int[]{711120, 70106}));
    ExampleRunner.eq(63, 235735.63533642574, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{997946, 678373, 515099, 13050, 644380, 439499, 941250, 183979, 510436, 436684, 348101, 357401, 577901, 681402, 136616, 700006, 285061, 203078, 930589, 441909, 476681, 556271, 831492, 18674, 397639, 126081, 88721, 377354, 908979, 296521, 848752}, new int[]{976566, 68517, 33711, 123250, 742053, 462803, 913085, 600744, 138890, 265654, 596364, 594615, 906998, 629899, 789997, 134561, 896878, 800160, 734629, 93467, 399907, 417931, 258749, 860427, 973858, 264239, 483482, 666622, 58755, 45595, 515026}, new int[]{698656, 411903, 970971, 154862}, new int[]{652312, 420234, 860991, 412880}));
    ExampleRunner.eq(64, 607681.5068234459, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{954459, 812787, 567973, 287977, 23204, 79004, 468355, 632767, 834348, 904464, 624340, 164393, 924026, 743229, 955786, 307875, 48133, 939472, 801939, 239752, 431564, 974428, 486482, 264126, 185939, 488696, 958803, 651773, 747884, 777823, 330091}, new int[]{631543, 510729, 644278, 586648, 204115, 149285, 167725, 845709, 60245, 130868, 271714, 322995, 94795, 894996, 416590, 910244, 639162, 134605, 227448, 825143, 318757, 418418, 125694, 839329, 168589, 810279, 653089, 882828, 913502, 703670, 604198}, new int[]{132412, 761859, 31329, 817832, 907440, 108337, 186312}, new int[]{896724, 71884, 82296, 271081, 767895, 400366, 113319}));
    ExampleRunner.eq(65, 837475.4717477219, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{44559, 952648, 137526, 77775, 612932, 497655, 643050, 101484, 398175, 388364, 824280, 760829, 209273, 928506, 105633, 430930, 565256, 417690, 861920, 317610, 743513, 391166, 609243, 878203, 763545, 722949, 204758, 748436, 189044, 250141, 310258}, new int[]{450438, 748998, 959844, 96328, 729549, 879316, 793978, 973141, 752396, 678533, 419693, 160611, 186767, 317611, 114818, 150192, 902077, 221282, 495465, 993352, 815266, 386562, 11149, 525917, 785066, 587825, 483777, 414031, 195440, 294677, 199570}, new int[]{963369, 101647, 615296, 395023, 993917, 266670, 43597, 396231, 438828, 225364, 266100, 164053}, new int[]{394014, 381058, 482066, 451405, 138535, 385082, 394412, 440299, 159776, 161776, 430122, 533035}));
    ExampleRunner.eq(66, 1532644.4110828028, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{362652, 728475, 166273, 330863, 432747, 29199, 433076, 17946, 562757, 812075, 197528, 46652, 886581, 835132, 220637, 204214, 870781, 233082, 971423, 685195, 514955, 489210, 657115, 893522, 828772, 344725, 950901, 699656, 700393, 27160, 533972}, new int[]{353097, 612794, 38733, 129641, 432510, 566542, 424222, 426992, 803117, 606354, 726805, 154856, 790516, 152680, 999185, 101789, 932690, 37053, 563945, 922669, 714394, 948031, 507156, 219871, 224095, 544800, 909877, 355980, 534787, 439529, 231374}, new int[]{541318, 164063, 960306, 856845, 576653, 878393, 838329, 91518, 273877, 474445, 465089, 46978, 781325, 218031, 705399, 39859, 193753, 58115, 857908}, new int[]{923252, 292899, 135485, 163999, 371799, 65862, 54006, 731850, 920290, 137101, 425345, 683244, 265870, 808485, 270502, 765217, 203922, 672558, 433459}));
    ExampleRunner.eq(67, 2269208.2667401913, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{836557, 805258, 18922, 287454, 412435, 549229, 216932, 312224, 216061, 48279, 420533, 223093, 555894, 701313, 607904, 565968, 512280, 677909, 51810, 678641, 563694, 869624, 279186, 563036, 312394, 966339, 401992, 748817, 124778, 608894, 527849}, new int[]{434560, 233448, 162085, 628940, 79831, 886880, 532818, 782410, 612048, 952592, 272178, 978892, 416847, 132508, 559220, 444461, 889725, 49701, 483863, 982745, 746369, 780626, 700347, 13747, 129814, 251426, 189432, 476385, 450130, 732682, 693361}, new int[]{695642, 583085, 608329, 375913, 136138, 551838, 238731, 224607, 844771, 450081, 825427, 519041, 365457, 24373, 895000, 667711, 110850, 1191, 922690, 43147, 835210, 101588, 944508, 912707, 900196, 637387, 770358, 818366, 318745, 628664, 913460}, new int[]{558628, 892051, 153394, 805469, 939607, 524261, 831024, 320266, 55501, 811110, 370572, 574244, 643819, 974351, 552222, 590642, 769295, 237678, 377104, 577327, 594985, 592440, 844695, 307778, 881287, 244122, 156427, 135814, 842739, 213744, 296374}));
    ExampleRunner.eq(68, 2965670.445109116, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{322885, 584169, 780488, 219679, 602684, 937119, 165828, 67466, 189403, 996820, 730283, 501716, 421491, 391386, 34205, 865029, 366154, 718166, 474554, 488775, 29732, 300009, 307519, 311093, 853636, 360711, 593588, 651066, 201387, 583733, 384297}, new int[]{542809, 324076, 506858, 823635, 573388, 704272, 881626, 597034, 486161, 826790, 767177, 548648, 820461, 50154, 823346, 875590, 449197, 146641, 937845, 77237, 425893, 195560, 367475, 15421, 307912, 102418, 862427, 15078, 560952, 754092, 448761}, new int[]{629681, 416457, 897093, 804191, 486747, 330260, 547982, 672730, 690199, 685486, 147283, 431836, 812652, 877800, 387314, 363644, 531047, 883341, 708110, 851005, 558452, 537111, 856042, 2506, 773205, 115649, 4063, 755836, 699207, 731598, 932731, 622015, 912341, 928915, 748384, 370805, 479683, 968767, 636255, 400464, 696263, 366946, 100597, 35540, 793416, 404824, 899379, 708422, 87691}, new int[]{750451, 347846, 409510, 904367, 352422, 305255, 156278, 377574, 44865, 50909, 279073, 316848, 633223, 396384, 262096, 535494, 298600, 946639, 206030, 713356, 699764, 624933, 728340, 546241, 206491, 438987, 547485, 816715, 152134, 86520, 613741, 463777, 23854, 138949, 779919, 825335, 907916, 854224, 489772, 409460, 34613, 700326, 641281, 799805, 285637, 726146, 545338, 330218, 637336}));
    ExampleRunner.eq(69, 3287456.208260854, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{469168, 935754, 179908, 747888, 788160, 638446, 312101, 741736, 72033, 838828, 642138, 911710, 876888, 592300, 141306, 741144, 34565, 968946, 610833, 881648, 619474, 106115, 410300, 129122, 208683, 108405, 118692, 416282, 349702, 99388, 725571}, new int[]{836075, 839973, 415436, 148674, 384142, 188623, 853208, 679048, 842334, 107573, 632243, 46961, 811088, 103808, 679991, 128973, 676898, 732973, 716833, 917492, 38592, 931576, 847851, 482333, 967950, 850821, 20114, 995580, 527081, 491008, 359031}, new int[]{619981, 554428, 11608, 824258, 601252, 450347, 893806, 592217, 861479, 27876, 651721, 989999, 660647, 113582, 349207, 637566, 599289, 595112, 394253, 541151, 900099, 739871, 370644, 372330, 651487, 720506, 546774, 408208, 87202, 4454, 360942, 442595, 871013, 608126, 494074, 297769, 659274, 225075, 888227, 299038, 997612, 879919, 285545, 788806, 328415, 327655, 472279, 686587, 844955, 645555}, new int[]{760136, 107425, 683761, 411755, 962231, 225866, 860647, 541427, 800900, 969884, 146568, 586502, 339700, 278534, 839153, 487687, 710493, 129396, 937869, 514005, 509997, 312404, 332087, 750622, 400206, 821707, 229003, 725921, 521790, 954909, 160519, 478730, 37706, 783765, 149276, 394172, 37640, 548417, 597406, 58212, 538043, 62885, 288126, 372747, 311759, 689358, 288749, 343291, 294713, 339028}));
    ExampleRunner.eq(70, 148661.00185657298, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{962489, 251700, 499464, 207177, 592680, 964403, 562758, 171676, 169446, 739550, 790740, 187218, 874454, 124808, 687018, 576936, 232187, 308267, 823911, 156339, 540159, 43880, 483562, 988220, 213036, 669368, 831973, 303793, 767391, 981334, 235964, 140912, 905405, 718301, 483123, 701403, 513881, 163197, 997839, 687449, 916185, 251650, 731902, 10081, 539543, 472199, 68183, 762157, 62290, 739901}, new int[]{943325, 140261, 476775, 906190, 24715, 108791, 362820, 848304, 478981, 497861, 585705, 781518, 873806, 237908, 770364, 168005, 347135, 731651, 515444, 935090, 120741, 621417, 734056, 171507, 246268, 522276, 375086, 224926, 947102, 454408, 558269, 468151, 449179, 247814, 874640, 541781, 745284, 515942, 669916, 729375, 356816, 266656, 73942, 499292, 991415, 775507, 613112, 973588, 480457, 63912}, new int[]{355097}, new int[]{441303}));
    ExampleRunner.eq(71, 83565.24735242716, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{605694, 705086, 903419, 957307, 432299, 947683, 177145, 794890, 697376, 178641, 109939, 782687, 738911, 871053, 427389, 957114, 132125, 838972, 883623, 626410, 225266, 555368, 772177, 589639, 684691, 639127, 52103, 703725, 822289, 825324, 837926, 319758, 963135, 524094, 510506, 718177, 243096, 656683, 142302, 3323, 51600, 658621, 101262, 931716, 455623, 691727, 57974, 263599, 207213, 423365}, new int[]{387477, 287390, 702925, 590867, 391990, 202448, 679585, 187227, 334433, 169575, 246824, 872097, 363476, 997311, 744649, 551582, 180698, 35543, 314777, 834421, 574093, 402412, 350258, 469552, 286779, 313129, 940313, 309513, 574778, 249677, 782437, 970052, 677229, 365257, 150504, 735772, 273545, 533772, 764821, 826993, 160950, 622203, 362346, 923551, 757039, 293548, 529984, 539609, 787694, 236218}, new int[]{456697, 971990}, new int[]{141541, 218292}));
    ExampleRunner.eq(72, 417150.23032328824, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{933586, 752064, 393493, 421379, 434836, 585795, 442346, 496648, 311548, 191516, 236858, 427631, 279808, 198788, 511036, 473296, 317950, 520509, 499245, 712035, 21888, 988680, 852339, 880702, 710701, 570409, 82831, 910130, 886034, 136142, 798196, 841691, 353296, 864587, 341087, 305122, 911450, 345708, 816127, 964674, 854125, 474387, 88619, 818095, 530433, 890222, 82174, 963273, 649610, 806512}, new int[]{628673, 75887, 755387, 963593, 80000, 54598, 36010, 897969, 706875, 888023, 973616, 962571, 850996, 255004, 170778, 444622, 225359, 229942, 941889, 934082, 816329, 982734, 3826, 682387, 590717, 947560, 516539, 362639, 108918, 397069, 609438, 634645, 880700, 852542, 576621, 362975, 812301, 282287, 744909, 526828, 53581, 936957, 903016, 493152, 954238, 328628, 250411, 953971, 346359, 990697}, new int[]{441479, 353671, 442433, 635216}, new int[]{630133, 352928, 217878, 777059}));
    ExampleRunner.eq(73, 546170.2667364777, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{481286, 303886, 690470, 790867, 718288, 272241, 600197, 577349, 449872, 636342, 405479, 90178, 109984, 199886, 698727, 847975, 471990, 552423, 967133, 460047, 470749, 452640, 931749, 271817, 607608, 481103, 906510, 378545, 52129, 87409, 969032, 967869, 605744, 121979, 863580, 295295, 351313, 442273, 814922, 183181, 177746, 991116, 272564, 100748, 985090, 112548, 123541, 432140, 600707, 339160}, new int[]{118388, 335411, 296772, 779089, 127460, 248720, 680962, 682372, 59120, 99482, 961353, 846959, 962350, 552417, 353601, 698513, 670361, 162459, 343289, 203919, 250787, 589446, 548488, 381621, 426658, 531587, 89780, 16493, 96930, 269356, 935384, 959521, 520291, 91376, 100525, 852828, 266434, 283061, 232589, 941030, 664284, 84255, 888160, 324693, 188157, 472620, 80416, 247784, 72618, 982786}, new int[]{173144, 354113, 419389, 326017, 65974, 693840, 691982}, new int[]{152955, 524457, 314885, 752811, 509199, 243720, 684955}));
    ExampleRunner.eq(74, 970892.4514534686, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{327976, 573114, 807739, 135381, 67822, 519203, 25205, 572581, 139694, 35820, 788681, 327191, 208019, 660895, 636886, 623812, 354421, 430584, 310627, 119445, 343386, 396910, 795556, 769957, 752214, 947556, 779485, 692591, 667912, 444861, 743361, 306657, 302597, 778441, 821706, 28671, 55032, 89182, 913572, 785838, 183414, 725179, 526640, 987402, 808254, 54847, 19435, 649396, 135744, 490755}, new int[]{964546, 428724, 76702, 438786, 777422, 499962, 638409, 882866, 264224, 493807, 455209, 633197, 393165, 420358, 871377, 483361, 715425, 680659, 565965, 378449, 638648, 887092, 969491, 935250, 805777, 59393, 274747, 506004, 871985, 823297, 587173, 97782, 255741, 131723, 897886, 683592, 425582, 850589, 859139, 665786, 251893, 962899, 936269, 713051, 432263, 551614, 880004, 840532, 427837, 957451}, new int[]{844222, 159541, 945008, 268342, 626361, 42864, 824572, 291172, 222811, 582762, 229336, 101177}, new int[]{519426, 899255, 248723, 377079, 572679, 809775, 286542, 351211, 278574, 31064, 637609, 767271}));
    ExampleRunner.eq(75, 1444632.3221707721, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{517612, 607802, 696910, 129306, 136482, 958885, 574569, 458568, 799906, 529203, 306474, 494188, 617448, 78848, 233057, 132553, 449098, 441024, 357411, 724138, 896176, 93882, 428748, 190172, 90881, 890129, 58249, 963639, 979765, 40980, 259510, 489, 432388, 891615, 530343, 320691, 817274, 934262, 4022, 511673, 362308, 529257, 823117, 96253, 90879, 52701, 347766, 95996, 13202, 606952}, new int[]{750574, 171856, 98556, 541131, 807347, 81489, 227226, 200929, 19931, 624477, 820375, 47784, 76949, 846784, 180025, 269168, 740356, 664507, 88829, 493893, 683022, 470744, 70949, 747153, 719375, 915855, 902816, 675697, 560986, 731321, 173533, 227108, 441513, 308299, 615752, 945018, 414573, 764521, 124433, 613403, 920301, 420557, 11394, 321380, 655733, 868889, 571690, 780154, 506111, 62044}, new int[]{121862, 525562, 860716, 222155, 102755, 478140, 172628, 404119, 537290, 835624, 674605, 497058, 978514, 321024, 617664, 90759, 374118, 715661, 594643}, new int[]{927644, 457635, 459823, 864738, 252327, 983563, 7396, 514244, 18872, 628169, 406824, 22370, 111553, 510216, 927976, 258026, 616321, 234834, 456316}));
    ExampleRunner.eq(76, 1807576.0748067345, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{99571, 227142, 199460, 622107, 432513, 140951, 306065, 193460, 356426, 433176, 200689, 642424, 308865, 907770, 769876, 999342, 236809, 484157, 663253, 558349, 265661, 882402, 33354, 411848, 766336, 104228, 414362, 258472, 800194, 784753, 705653, 958015, 47575, 897231, 66935, 325093, 673378, 941321, 801856, 615012, 716691, 53714, 502892, 372780, 33926, 391653, 978625, 200540, 310338, 255527}, new int[]{215898, 96211, 918270, 603580, 159397, 786637, 815556, 321622, 171974, 195949, 50839, 291448, 16542, 543026, 20911, 387946, 226483, 436270, 106264, 95765, 699300, 90225, 75862, 908280, 845024, 967025, 265152, 241727, 684741, 570069, 302593, 942462, 442172, 710828, 455579, 332596, 207494, 706733, 353168, 86690, 237740, 131053, 830687, 303085, 676032, 739579, 349667, 26199, 97770, 377273}, new int[]{71849, 228368, 306613, 451959, 522857, 195159, 823211, 889101, 116559, 666186, 456411, 890065, 407505, 498233, 706874, 613616, 334379, 42449, 530173, 267961, 116877, 329576, 748993, 303188, 517555, 534537, 27211, 927500, 552204, 189559, 697992}, new int[]{580620, 745227, 169689, 108469, 585471, 758048, 767374, 844602, 780380, 150485, 57838, 953535, 609104, 236343, 753760, 297222, 841985, 640993, 12907, 53029, 981620, 940088, 218676, 384051, 969374, 973966, 943101, 953217, 425733, 777577, 803175}));
    ExampleRunner.eq(77, 2787449.0186719485, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{74799, 163658, 191863, 167154, 265360, 959943, 742619, 332112, 611486, 15180, 342132, 607622, 514108, 732363, 455902, 543840, 981226, 684948, 919829, 669911, 136133, 817124, 857288, 443059, 517401, 133295, 537630, 166163, 419242, 792403, 328880, 924344, 562241, 520192, 979893, 704257, 819956, 513277, 707614, 183015, 933075, 121546, 94227, 559441, 186234, 425612, 206585, 862219, 477746, 769395}, new int[]{32371, 635748, 693831, 978324, 284032, 594936, 227435, 45807, 849667, 146022, 560892, 788131, 159825, 222166, 430355, 530701, 707499, 691588, 852102, 703688, 629853, 878753, 667735, 987274, 458239, 378032, 259417, 570237, 898526, 875144, 336243, 828605, 127790, 482069, 190102, 634525, 39879, 195742, 956336, 743514, 834811, 989204, 287709, 31968, 351843, 33614, 349955, 768826, 382411, 976138}, new int[]{572513, 610662, 513530, 106710, 117273, 483156, 643035, 558051, 892411, 287730, 987834, 630759, 581796, 963245, 875388, 554178, 724789, 877368, 325778, 496460, 310802, 11898, 584318, 728098, 724439, 73873, 247668, 425190, 716108, 444504, 158072, 76395, 200520, 639679, 974840, 6348, 634255, 794976, 625194, 213800, 57399, 580403, 29303, 690030, 912528, 855407, 651714, 471960, 441062}, new int[]{473651, 910968, 642439, 739643, 808225, 568847, 604702, 255761, 117491, 78645, 713342, 194419, 492977, 578041, 732639, 966401, 683340, 756818, 502577, 443051, 979617, 472336, 88448, 476729, 534327, 712272, 704632, 347963, 906935, 109995, 517181, 882862, 472262, 44797, 654639, 804141, 18246, 737072, 523073, 349632, 806173, 823567, 5593, 745412, 134533, 70599, 450301, 852235, 630139}));
    ExampleRunner.eq(78, 3057322.605889006, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{415531, 284777, 738541, 958625, 174602, 575089, 933450, 713075, 493054, 37945, 524789, 836116, 58070, 348995, 858564, 678669, 724458, 695974, 919476, 33513, 756916, 979, 278090, 241216, 11931, 472727, 266632, 435414, 315171, 891733, 611464, 966329, 52345, 835919, 353898, 584397, 33532, 319678, 336430, 119765, 358555, 403580, 938333, 505388, 660401, 945738, 486020, 126285, 611366, 28684}, new int[]{934401, 421879, 437531, 533517, 583818, 906903, 150988, 32352, 260878, 183083, 468972, 898695, 487830, 530031, 790057, 274094, 963446, 981498, 654598, 94077, 127102, 208864, 232554, 289643, 797661, 536720, 827342, 843203, 302908, 692234, 570401, 854421, 180801, 971821, 387931, 110813, 103876, 311622, 560894, 866861, 110991, 143686, 838994, 253504, 397120, 271864, 430565, 538365, 480703, 965265}, new int[]{387133, 594577, 235457, 250787, 475149, 957247, 481543, 14388, 718319, 191879, 435396, 169082, 86681, 978281, 294569, 700310, 657046, 620868, 727641, 982889, 760707, 73491, 819460, 699124, 126156, 953496, 65618, 1467, 454944, 405844, 505213, 468214, 919541, 573260, 997736, 886970, 533281, 556189, 85339, 446016, 183314, 810047, 559087, 438230, 309761, 282043, 468728, 532730, 876338, 553948}, new int[]{131581, 420666, 914255, 90386, 370552, 352203, 360826, 419876, 519777, 378719, 656116, 921417, 813867, 216546, 525465, 200202, 294887, 892503, 390154, 721289, 458634, 760749, 606380, 56277, 409502, 80051, 641077, 670799, 979749, 268012, 106154, 680758, 607581, 647181, 74647, 276941, 478960, 871240, 255313, 729995, 918011, 248932, 330013, 14030, 844075, 333473, 268756, 388268, 105989, 392572}));
    ExampleRunner.eq(79, 65019.56432490147, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{699136, 188012, 919878, 140654, 518013, 253711, 504680, 468759, 912270, 596297, 751064, 592503, 147096, 126558, 749722, 453004, 158422, 718273, 385216, 120514, 964097, 641556, 474981, 569543, 535803, 127781, 562679, 25156, 364016, 288706, 387719, 81095, 382725, 142939, 176794, 708169, 674678, 165166, 978539, 55408, 937547, 319707, 940473, 246998, 533577, 936726, 795913, 985936, 335688, 983578}, new int[]{440917, 750916, 744201, 523716, 586670, 701328, 582257, 63767, 906990, 740531, 878340, 219791, 125233, 541933, 199005, 448858, 641016, 596799, 858928, 421729, 892725, 987277, 110314, 387251, 165839, 286866, 238783, 228274, 670214, 113738, 741710, 546141, 799368, 286440, 781953, 659391, 868224, 668158, 253208, 514341, 701689, 500225, 863363, 822988, 535704, 921296, 17820, 178637, 647374, 30981}, new int[]{429326}, new int[]{691746}));
    ExampleRunner.eq(80, 152538.03516259187, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{208871, 78469, 772162, 627245, 89847, 566258, 583516, 272917, 848217, 403217, 764788, 839762, 377767, 916596, 724931, 571590, 968425, 826339, 225565, 123653, 55373, 243466, 233639, 506403, 359875, 385298, 627249, 912384, 919009, 403359, 174899, 96239, 662006, 920908, 413160, 721483, 252971, 625922, 999831, 568467, 78943, 521366, 215822, 748207, 262727, 815768, 645014, 617949, 871584, 713090}, new int[]{104003, 374037, 57007, 346069, 83291, 409554, 25229, 349014, 324993, 303442, 199130, 750723, 175449, 361344, 345921, 933802, 650059, 259085, 972083, 315412, 689911, 157389, 516383, 81856, 428119, 643162, 225059, 523516, 828979, 162438, 493448, 143323, 441077, 887571, 44561, 468533, 964949, 486611, 650824, 878205, 472264, 224691, 433749, 653330, 151566, 956126, 912008, 307020, 538856, 284743}, new int[]{583417, 271776}, new int[]{953072, 836389}));
    ExampleRunner.eq(81, 361983.2949704005, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{918020, 841499, 67021, 314553, 400728, 889155, 788167, 788380, 307427, 7019, 34653, 777960, 682323, 709480, 962621, 139127, 397453, 835489, 909090, 647437, 504460, 963366, 692452, 862020, 392891, 989319, 531005, 852281, 776827, 997568, 543016, 657087, 635819, 441941, 161116, 373224, 144468, 995203, 125333, 392297, 281759, 464267, 148892, 544591, 915308, 702166, 715851, 435791, 370326, 415076}, new int[]{416197, 436349, 928465, 664464, 835919, 135049, 637362, 50893, 604147, 952441, 624968, 906238, 9549, 784240, 981256, 880641, 980626, 982974, 668542, 828317, 55090, 811127, 270244, 518378, 387538, 427544, 767278, 213328, 561761, 257947, 136694, 458968, 492575, 544908, 89377, 184076, 855089, 355419, 375721, 518224, 381615, 331263, 835048, 444219, 60657, 976823, 359252, 351669, 877732, 531443}, new int[]{485609, 234018, 161888, 22494}, new int[]{788300, 148576, 747720, 805721}));
    ExampleRunner.eq(82, 402769.3535260763, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{123440, 842444, 796406, 254962, 660257, 426516, 378710, 552387, 6432, 964730, 384408, 945200, 686605, 18592, 926937, 172712, 974378, 492575, 840365, 753081, 65589, 594685, 826777, 575858, 135248, 246965, 438892, 908173, 889882, 529487, 4851, 904195, 235853, 787011, 662806, 613838, 238186, 691193, 355594, 453669, 326137, 47498, 929799, 446023, 919435, 673497, 196207, 940514, 11459, 545276}, new int[]{414791, 923699, 306710, 463798, 799553, 575564, 128681, 613060, 988178, 895258, 379805, 870017, 179217, 366992, 559587, 568877, 15155, 289283, 747537, 500622, 179596, 444299, 147071, 351708, 540587, 38156, 710665, 643996, 445265, 335318, 702199, 497728, 915269, 594717, 58590, 728395, 208523, 583462, 785550, 9342, 700635, 283528, 474170, 819680, 975510, 442785, 96190, 432060, 246023, 674265}, new int[]{304614, 921159, 367637, 163261, 916400, 769572, 836064}, new int[]{159114, 61299, 130850, 241730, 616930, 761036, 817070}));
    ExampleRunner.eq(83, 953974.9260444614, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{563063, 291240, 104041, 984595, 171959, 873729, 131360, 395494, 77951, 354250, 279907, 166958, 615, 578597, 362893, 587257, 180522, 935042, 644670, 580601, 137436, 484599, 376515, 982432, 98700, 490574, 95566, 858774, 259388, 384869, 852031, 66736, 406121, 354115, 958412, 904418, 426043, 401643, 269108, 294022, 276254, 783414, 960627, 505001, 79557, 879295, 380495, 1139, 466307, 355905}, new int[]{765862, 9085, 729174, 777538, 699301, 630972, 403687, 195136, 218607, 517609, 240386, 443168, 83357, 770188, 414661, 925956, 396996, 284563, 438135, 335128, 972829, 787296, 880093, 972966, 855181, 897107, 657532, 614682, 437370, 622281, 490625, 551053, 520277, 50790, 934716, 614347, 389016, 802558, 902574, 886308, 784596, 890320, 642187, 738515, 889870, 450087, 946031, 305115, 873755, 943219}, new int[]{808470, 557565, 649338, 74069, 898781, 323253, 671187, 583853, 267353, 888828, 978724, 315496}, new int[]{260322, 753013, 477707, 436945, 368092, 175034, 106666, 631814, 88854, 865410, 768122, 877718}));
    ExampleRunner.eq(84, 1216816.933637648, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{232652, 182832, 708890, 160676, 836058, 788871, 232947, 440840, 231032, 343760, 907758, 52531, 16467, 40519, 227980, 391408, 228150, 196589, 668476, 491397, 631006, 508428, 661708, 32679, 750359, 831957, 822552, 351726, 862846, 352709, 785260, 106955, 873855, 468948, 216309, 46863, 759113, 748266, 541557, 350558, 194383, 950031, 622501, 855954, 731001, 613171, 508277, 48169, 542171, 442961}, new int[]{835136, 217458, 57236, 35858, 236741, 3894, 862941, 650227, 282592, 420718, 927614, 175110, 459858, 513690, 874516, 979132, 92739, 937040, 875766, 504533, 280268, 382452, 949268, 411239, 376439, 658116, 402988, 839019, 910745, 609325, 262616, 13409, 822045, 542330, 960346, 365814, 73790, 939320, 299444, 291915, 701014, 16934, 301756, 485347, 727162, 516260, 720127, 900631, 35616, 276979}, new int[]{514461, 642793, 82113, 731392, 209002, 915585, 301463, 420319, 204370, 927810, 40432, 970130, 779607, 967840, 572415, 117255, 937623, 397448, 669605}, new int[]{8323, 273573, 391058, 623670, 81949, 403385, 384114, 923964, 794772, 935371, 540981, 67208, 536798, 840277, 410800, 605375, 760048, 19735, 128839}));
    ExampleRunner.eq(85, 2060269.1808210816, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{161904, 729289, 281991, 980102, 473214, 534081, 638341, 460504, 160221, 663768, 598886, 57359, 360057, 476188, 533216, 886344, 542899, 291107, 164882, 564199, 492679, 557620, 191293, 257990, 776733, 516574, 676440, 91758, 605914, 312500, 750737, 871249, 851475, 637025, 470563, 172952, 818003, 612762, 785694, 397809, 792509, 456543, 525314, 60942, 153245, 788857, 609285, 716117, 377958, 514114}, new int[]{878607, 77488, 30751, 220810, 184471, 401024, 93013, 608471, 240110, 128060, 754682, 716141, 513481, 757505, 145792, 213619, 615632, 824890, 789709, 638097, 98280, 131020, 18123, 870014, 921758, 375618, 92432, 554996, 86445, 657629, 717343, 293635, 680855, 534856, 201223, 963243, 249071, 527795, 870752, 562426, 432882, 987448, 548301, 131227, 891942, 422482, 178604, 979259, 871641, 848522}, new int[]{72864, 330263, 454637, 937162, 332275, 321256, 286351, 630731, 844600, 461392, 102114, 938827, 947352, 209156, 45083, 692330, 447335, 45812, 2615, 660803, 354942, 978174, 278357, 452958, 337575, 157801, 201596, 669587, 270069, 992756, 639012}, new int[]{205566, 409366, 943025, 240331, 853470, 643283, 777800, 811665, 210172, 516345, 768748, 229898, 173442, 325309, 723270, 636447, 541092, 901973, 501473, 334890, 500558, 641293, 127403, 122957, 432849, 439689, 96627, 148947, 397242, 833652, 685086}));
    ExampleRunner.eq(86, 2942308.0505530117, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{470098, 744677, 506818, 17383, 82182, 186678, 532118, 706258, 106491, 936424, 2021, 879419, 805466, 587350, 501639, 1806, 831208, 6147, 493775, 24145, 432855, 673312, 194357, 505547, 460402, 602140, 98489, 171030, 668046, 220676, 21740, 141421, 487464, 709473, 726598, 594196, 981440, 161424, 165576, 32143, 108942, 606901, 634342, 148385, 573310, 990571, 628542, 484997, 316559, 615745}, new int[]{86346, 515911, 747293, 686120, 890826, 578855, 465035, 503575, 562333, 264292, 138019, 190108, 667988, 798222, 744861, 971738, 746483, 338025, 542030, 94457, 729323, 483473, 379570, 819349, 441971, 980923, 481559, 903956, 276880, 169684, 740982, 371447, 666068, 499739, 252117, 159452, 267507, 694296, 666972, 625978, 634284, 725931, 296430, 302387, 369061, 113550, 650492, 116006, 712969, 43156}, new int[]{965086, 721109, 995947, 677820, 549504, 306000, 862746, 902877, 209331, 836473, 457322, 933190, 477535, 201869, 649655, 355750, 546053, 598264, 477890, 222022, 504546, 722839, 959423, 901378, 713976, 506892, 564893, 257160, 376768, 873521, 313642, 159662, 343127, 438694, 552509, 885410, 225736, 461345, 270962, 909410, 100571, 674734, 374883, 744891, 427923, 778073, 366180, 638259, 214161}, new int[]{209940, 465024, 882533, 161523, 709963, 176945, 912901, 15586, 569761, 301140, 827044, 85863, 418187, 312593, 336113, 614741, 595358, 60499, 276083, 545894, 46521, 367291, 144214, 687253, 737850, 171297, 440082, 560927, 977530, 26422, 747770, 378195, 757927, 339516, 179215, 575554, 608249, 703658, 362722, 984938, 416302, 183964, 450394, 751651, 618411, 260064, 456235, 709307, 595452}));
    ExampleRunner.eq(87, 2658427.2854145654, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{48823, 293166, 860724, 60980, 741060, 203289, 835380, 66771, 487824, 479007, 711804, 369625, 166993, 946111, 445112, 919204, 482440, 465167, 249772, 702230, 376589, 159800, 727878, 759082, 186724, 485416, 145017, 906904, 590846, 672761, 568784, 566892, 841334, 431385, 595205, 600436, 557632, 220761, 23806, 538210, 217930, 627558, 397166, 230456, 424474, 60968, 13680, 44480, 696918, 464618}, new int[]{285169, 934233, 518903, 840568, 331943, 650470, 303860, 510114, 441654, 232715, 906930, 489876, 735806, 323752, 678771, 12434, 730870, 861663, 526147, 509331, 905519, 730469, 226571, 734202, 238088, 898528, 855041, 830510, 371513, 554458, 591965, 51223, 550558, 91105, 133614, 490293, 278736, 804009, 979843, 210531, 542125, 881447, 534461, 506511, 903217, 993258, 146360, 855014, 475865, 810622}, new int[]{127978, 300915, 862290, 8117, 20018, 96626, 606952, 637895, 777145, 29128, 290066, 713375, 754956, 158760, 752219, 780995, 725432, 121304, 122085, 473816, 712749, 898551, 331626, 360817, 441794, 347388, 998541, 554107, 818618, 242369, 373244, 6531, 623773, 686396, 775757, 406460, 249154, 845205, 878455, 726549, 114465, 570608, 134699, 385001, 393080, 79650, 169233, 383499, 732517, 57362}, new int[]{65054, 204109, 521676, 886096, 64827, 756448, 242684, 522617, 386850, 201618, 90096, 303747, 757855, 970374, 141878, 398696, 81909, 587721, 129422, 142103, 570443, 838200, 54944, 627270, 389945, 731861, 60762, 753497, 231366, 89335, 23363, 98675, 127835, 745858, 160212, 7004, 305010, 99279, 206021, 320248, 73936, 631505, 643214, 471816, 627370, 766324, 86181, 793006, 588394, 508273}));
    ExampleRunner.eq(88, 2369728.5707892873, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{515278, 768832, 615538, 603502, 4533, 934523, 349471, 736855, 541037, 398841, 414757, 225368, 879579, 386650, 984658, 919262, 688514, 897416}, new int[]{516259, 878982, 165785, 860587, 717967, 93640, 69221, 252972, 129934, 620688, 86573, 798256, 957885, 455440, 653755, 499935, 206593, 822551}, new int[]{372378, 683137, 737383, 470552, 205380, 376824, 855840, 885605, 380738, 587352, 587357, 234256, 146255, 590448, 360111, 175819, 988780, 627900, 995115, 850014, 342856, 465412, 521003, 506290, 980488, 680557, 104641}, new int[]{500917, 376911, 617660, 605353, 725906, 746418, 775666, 789096, 110972, 778817, 492501, 572014, 153518, 353268, 487863, 250988, 858956, 244661, 616951, 200495, 226838, 717195, 869516, 901741, 612141, 86343, 914814}));
    ExampleRunner.eq(89, 2874411.1996249654, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{586831, 122664, 736667, 716429, 194438, 488606, 479778, 908547, 83957, 576827, 761973, 506700, 732257, 828804, 620570, 124794, 254464, 672841, 582941, 753576, 252097, 485430, 617801, 110007, 804934, 306717, 806950, 827867, 37672, 894605, 180829, 902641, 303855, 463424, 483250, 182673, 496180}, new int[]{248804, 946942, 816983, 243945, 862828, 189552, 338620, 341133, 892458, 604960, 601617, 742461, 705757, 836899, 5660, 207400, 765958, 509631, 389269, 777379, 760682, 250374, 912477, 701758, 205333, 566907, 331916, 539207, 656670, 176741, 537898, 435294, 93980, 405295, 216999, 253846, 186603}, new int[]{22719, 99079, 815738, 338060, 989419, 491370, 721215, 992455, 224283, 672216, 127076, 739404, 899866, 325999, 994999, 787642, 936160, 187443, 827732, 911351, 707511, 152934, 968761, 81543, 837172, 356966, 766830, 73247, 356021, 786233, 221424, 405735, 16092, 946480, 637180, 179474, 297548, 810416, 514796, 977852, 201216, 834714, 468185, 671740}, new int[]{113980, 132726, 422512, 640954, 663509, 817285, 47541, 134318, 173283, 645423, 494571, 590500, 741153, 601039, 822179, 536217, 405220, 270396, 44002, 335650, 921220, 947226, 145388, 711543, 272259, 964248, 96369, 185194, 399246, 351019, 92373, 676083, 593178, 843825, 376329, 863191, 850908, 266308, 410458, 351967, 853317, 968046, 907961, 824206}));
    ExampleRunner.eq(90, 2941199.8751074965, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{693724, 550346, 241712, 211136, 928762, 83019, 711506, 996143, 165375, 969379, 381404, 515042, 657140, 642578, 325931, 786851, 552412, 637612, 940634, 500815, 215563, 533129, 482901, 485989, 40208, 828501, 144460, 156228, 363767, 648978, 304088, 746351, 810024, 169123}, new int[]{565630, 99458, 566438, 706691, 848316, 626735, 380567, 40420, 510938, 661726, 170594, 216117, 501726, 328879, 986783, 19654, 855696, 794125, 848748, 387894, 102334, 445568, 529271, 166775, 973867, 421612, 862042, 801600, 317305, 208197, 435829, 856500, 383963, 750657}, new int[]{751210, 657051, 290772, 412341, 719450, 458948, 390695, 699769, 186489, 855255, 691802, 276953, 458560, 370888, 925766, 537740, 246949, 162247, 903469, 348392, 991417, 901075, 131787, 435766, 493839, 387031, 313751, 218528, 205787, 40895, 166426, 327027, 810425, 469595, 582362, 855311, 143826, 474389, 394227, 630888, 719674, 110704, 718902, 805737, 955647, 574741, 980765}, new int[]{188438, 966773, 190179, 292172, 416829, 759658, 805948, 535155, 374496, 68755, 504232, 514389, 23303, 268584, 58511, 676976, 194790, 537721, 574588, 622918, 807340, 382111, 119342, 318276, 291020, 704140, 182483, 772312, 107915, 650052, 97134, 413375, 489275, 713893, 817988, 573779, 756385, 794113, 910155, 406565, 17919, 33425, 847732, 924689, 365131, 122073, 420267}));
    ExampleRunner.eq(91, 3043582.5024451087, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{428041, 23581, 860030, 584182, 153775, 316468, 487225, 954567, 483774, 758823, 431501, 645864, 966689, 27720, 159371, 257141, 123709, 597815, 196612, 506094, 277566, 416889, 769917, 527187, 992225, 974867, 887568, 329373, 359834, 838709, 957260, 106616, 413571, 64707}, new int[]{523543, 10403, 878892, 3855, 577070, 548002, 947356, 725398, 583770, 202676, 83058, 387148, 220604, 947454, 81667, 587412, 799222, 983739, 700496, 350388, 822562, 283290, 889956, 772191, 804510, 423726, 620730, 372756, 875593, 519205, 95849, 80969, 222931, 610183}, new int[]{923427, 479070, 911862, 521281, 822914, 490968, 852978, 757363, 86563, 631800, 480827, 484101, 84857, 37555, 850648, 627110, 710063, 12065, 520639, 859201, 100313, 677189, 816002, 730835, 558286, 385961, 351642, 995700, 497779, 453426, 654016, 159498, 705215, 23001, 223409, 606404, 232370, 314012, 755144, 506435, 407480, 871042, 280958, 714120, 936994, 164161, 285080, 992087}, new int[]{89300, 719492, 414459, 200278, 48468, 815138, 465834, 259044, 605235, 964897, 470508, 438087, 109217, 498428, 620762, 292573, 106180, 140423, 51845, 862052, 350168, 953291, 953052, 421065, 362634, 39113, 388562, 436499, 33254, 348426, 80535, 882578, 171563, 744353, 882202, 842222, 802093, 566871, 44846, 831929, 892397, 277621, 385240, 297236, 686045, 591010, 323659, 990295}));
    ExampleRunner.eq(92, 2290569.2003352195, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{253147, 415789, 597852, 180142, 733529, 475209, 767215, 650860, 678810, 60495, 266052, 597474, 106997, 272371, 391348, 632671, 560223, 22544, 215117, 588438, 656472, 225609, 983336, 98941, 326785, 92073, 156924, 541549, 609100, 881506, 137012, 163441, 562636, 373809, 907173, 281897, 62893, 505830, 383974, 226872, 282706, 340594, 45492, 740551, 733062}, new int[]{755631, 859551, 166658, 911864, 935286, 239964, 401189, 156755, 450317, 911430, 997489, 430213, 401053, 99084, 286093, 644495, 48459, 158075, 202687, 467146, 582147, 423686, 876469, 180644, 159436, 111336, 208047, 782422, 332419, 447, 514176, 697235, 704486, 296252, 480747, 563644, 507506, 46228, 123270, 229258, 837446, 958130, 400642, 654592, 140555}, new int[]{173539, 654732, 85807, 559965, 550618, 458863, 67780, 340021, 86483, 696880, 990253, 669300, 974714, 768488, 406383, 374319, 408621, 953901, 801916, 472545, 18001, 703549, 971663, 177890, 804564, 408499, 409853, 162662, 348089, 136830, 951199, 852893, 95698, 372747, 357658, 768647, 813698, 979941}, new int[]{388573, 855480, 735867, 978117, 985637, 832516, 521756, 573610, 242495, 831855, 498085, 849347, 233291, 233764, 501549, 98421, 547550, 494429, 32365, 352534, 449907, 85781, 562069, 576645, 393269, 313316, 596299, 384567, 931150, 754472, 29648, 359819, 325293, 897614, 363791, 375659, 472195, 785360}));
    ExampleRunner.eq(93, 844438.9425056995, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{880504, 551100, 670643, 922301, 864019, 801454, 24861, 67496, 630970, 721546, 579307, 886008, 973363, 338648, 3564, 629632, 767239, 210070, 178683, 308185, 402759, 80549, 899289, 860873, 829739, 570974, 698621, 275498, 675187, 662284}, new int[]{357327, 807503, 479452, 351804, 270389, 519348, 752652, 396253, 163194, 522217, 597703, 347954, 699706, 471802, 891412, 402568, 699231, 956381, 132370, 561201, 628138, 946120, 148045, 530258, 100917, 409045, 456982, 190482, 614147, 197250}, new int[]{24057, 599818, 509646, 266176, 942258, 768029, 720998, 328135, 33621, 669043}, new int[]{291915, 309795, 809888, 688329, 92860, 863517, 367077, 620286, 707507, 863360}));
    ExampleRunner.eq(94, 2185591.2316827644, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{272405, 215498, 697527, 680549, 87934, 688724, 532901, 16139, 405197, 928936, 340413, 58802, 788718, 894555, 474283, 734777, 728523, 331590, 359458, 822858, 753744, 653644, 709951, 641220, 665180, 325372, 220088, 711139, 995099, 22065, 827171, 734569, 225615, 18740}, new int[]{507045, 66402, 890685, 878310, 223106, 687753, 198369, 317576, 476897, 173226, 649933, 187047, 92424, 976261, 702979, 265187, 950275, 944549, 530638, 965892, 511581, 805145, 188283, 633647, 570156, 524092, 384175, 527306, 124192, 469381, 756842, 74192, 66158, 103572}, new int[]{115295, 69463, 353179, 192683, 429890, 215275, 404058, 137660, 443322, 188451, 491491, 426300, 485857, 392854, 745526, 333543, 771692, 766860, 681612, 224998, 311944, 243569, 17919, 377148, 748528, 936660, 294614, 77178, 42327, 47440}, new int[]{841598, 387539, 241607, 581629, 833903, 613569, 59147, 142646, 848799, 438420, 210516, 318661, 160868, 229971, 930094, 379321, 921506, 643370, 959543, 630001, 958773, 234502, 381229, 979741, 84098, 240018, 362960, 298970, 988532, 787854}));
    ExampleRunner.eq(95, 176205.0943190917, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{167174, 820988, 852186, 412075, 132600, 554455, 477020, 275898}, new int[]{690317, 452533, 502600, 77183, 242518, 894670, 572375, 372667}, new int[]{70614}, new int[]{542925}));
    ExampleRunner.eq(96, 2283972.093226451, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{782943, 370234, 568848, 367152, 718914, 34269, 494593, 857120, 876357, 942461, 30212, 422125, 587790, 879900, 759448, 665678, 125042, 958011, 966973, 828678, 647939, 608973, 236703, 526309, 253786, 159015, 484184}, new int[]{269878, 378621, 412561, 616288, 804277, 404587, 855258, 865278, 787694, 527456, 496916, 507232, 216523, 658404, 855164, 60890, 554411, 693890, 325162, 685886, 862947, 661031, 466092, 631559, 468769, 802498, 99639}, new int[]{309729, 834662, 767377, 563292, 691999, 505965, 900723, 493670, 677322, 629346, 802640, 270886, 16107, 316216, 845669, 311760, 909373, 382025, 777531, 146802, 152149, 119537, 644203, 337770}, new int[]{590473, 708128, 112609, 951554, 688334, 650009, 991437, 247899, 141608, 804794, 866049, 328948, 43171, 693622, 318900, 673897, 146422, 195248, 463816, 469529, 652767, 571371, 131706, 840024}));
    ExampleRunner.eq(97, 3261440.555314177, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{163317, 351663, 441901, 995874, 579891, 77016, 515438, 38073, 700137, 879778, 803632, 18204, 640297, 573374, 539430, 945182, 478141, 655449, 701614}, new int[]{594454, 434203, 367770, 758117, 841542, 891652, 504889, 415962, 815604, 365438, 550426, 441668, 180906, 978067, 365188, 702747, 815344, 920042, 651322}, new int[]{678159, 11362, 173155, 778563, 461262, 63830, 362637, 409965, 309129, 598747, 546827, 284690, 359422, 825851, 682873, 703191, 327468, 153205, 759853, 230351, 447466, 599152, 680143, 227944, 96376, 427273, 483367, 653710, 993295, 894659, 44023, 74197, 312402, 390614, 196168, 848867, 952145, 490737}, new int[]{281504, 273674, 45299, 729728, 997200, 859539, 867462, 899342, 50261, 401003, 138176, 10507, 762832, 533370, 527464, 879531, 714553, 500623, 450267, 739614, 812681, 810104, 527616, 507771, 826691, 643203, 230463, 842789, 998061, 194666, 597849, 371491, 745902, 590754, 139464, 162134, 448018, 150786}));
    ExampleRunner.eq(98, 865308.3722447429, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{177057, 545371, 752213, 353292, 390026, 922482, 541253, 401032, 856496, 879851, 341186, 905073, 756652, 638071, 526503, 484568, 241213, 344889, 577176, 436347, 563267, 288884, 362332, 756968, 440349, 502936, 749835, 971588, 302225}, new int[]{590510, 122829, 28737, 924422, 346586, 803184, 485005, 133949, 231933, 765609, 594518, 190052, 375717, 247388, 650704, 222059, 29939, 511925, 698181, 485701, 358828, 104519, 208416, 737328, 155317, 781536, 926509, 24986, 128157}, new int[]{790874, 778861, 569287, 823881, 50498, 612356, 405257, 364173, 798641, 421056, 982332, 229424, 161440}, new int[]{347227, 275442, 538574, 914176, 401056, 486845, 175622, 212640, 726505, 74107, 861406, 485268, 497759}));
    ExampleRunner.eq(99, 3228447.2420498664, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{41244, 779685, 579727, 626059, 615618, 581688, 369495, 671461, 888166, 987392, 280638, 797913, 788353, 266736, 43595, 601319}, new int[]{714001, 832118, 558545, 149013, 449939, 666117, 194044, 774752, 35633, 205306, 408448, 262969, 545837, 949793, 678512, 603339}, new int[]{911012, 435456, 939549, 158251, 29953, 739782, 452483, 692699, 965376, 64453, 125537, 27482, 408203, 382181, 491230, 573636, 364503, 929979, 107605, 896216, 828170, 574006, 565740, 658299, 465295, 814128, 103618, 23220, 172826, 519117, 907400, 103296, 138842}, new int[]{381003, 490739, 580015, 73665, 739940, 399448, 411243, 859148, 198590, 764513, 862367, 913890, 294218, 970298, 983500, 920741, 527591, 822551, 88230, 656059, 154497, 799152, 266705, 49614, 722753, 109331, 360109, 30320, 405401, 182555, 92752, 271902, 33274}));
//		ExampleRunner.eq(100, 2709403.3666117224, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{640004, 421006, 663665, 785824}, new int[]{509168, 986673, 995012, 747904}, new int[]{780216, 316017, 685375, 873341, 8752, 337812, 820461, 882634, 468180, 518262, 56203, 890469, 158881, 201379, 343485, 607448, 949825}, new int[]{444123, 764010, 648644, 307492, 896561, 700079, 856929, 727861, 504429, 125521, 131214, 696207, 829974, 341045, 987203, 123700, 923465}));
//		ExampleRunner.eq(101, 2547853.431370196, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{572109, 461190, 176111, 799439, 692929, 761431, 705001, 323629, 929407, 975911, 562571}, new int[]{761051, 99360, 317501, 515071, 200572, 679608, 798193, 761204, 732597, 606787, 177289}, new int[]{947832, 682991, 548255, 997243, 305013, 715516, 705711, 120703, 925197, 224220, 11739, 3319, 208924, 67965, 58011, 880623, 573590, 598120, 233428, 76309, 201712, 341643}, new int[]{906056, 73778, 151315, 435965, 87850, 284703, 410126, 23648, 813633, 205127, 929222, 335368, 451225, 703334, 149035, 524342, 82113, 121844, 113861, 538441, 791825, 425922}));
//		ExampleRunner.eq(102, 1804840.6869832075, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{449570, 794479, 850773, 121511, 141586, 305316, 552269, 877086, 406168, 33503, 91018, 636649, 323872, 477651, 782782, 646361, 362246, 424641, 247057, 585610, 913587, 635193, 809752, 935745, 481452, 257206, 754679, 776797, 769214, 781065, 971048, 821345, 868265, 64810, 829137, 540963, 578345, 245576, 725432, 641014}, new int[]{645646, 673791, 806218, 854092, 848935, 728051, 881827, 951391, 450675, 522787, 266931, 167327, 356860, 665515, 198100, 750851, 440839, 213018, 64651, 907143, 409425, 984355, 30777, 734419, 969249, 90969, 893855, 597050, 254447, 70494, 427425, 333293, 245986, 633821, 168919, 261222, 176155, 906596, 699821, 206883}, new int[]{187568, 816352, 310573, 539297, 847596, 150280, 266285, 670435, 254610, 286869, 422664, 344969, 40985, 426103, 808865, 491799, 965337, 938680, 901299, 874196, 353835, 604535, 33099, 791669, 528714, 889956, 943369, 470885}, new int[]{898220, 942247, 593148, 79786, 838861, 337142, 490125, 653049, 735245, 83746, 346331, 1008, 109044, 766417, 67116, 996433, 308151, 275909, 996476, 267393, 542975, 620120, 274969, 287709, 597037, 951378, 234924, 984354}));
//		ExampleRunner.eq(103, 3483626.8294104487, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{269270, 964104, 667765, 69219, 242348, 121418, 756411, 178017, 613873, 635915, 535825, 2577, 153004, 179203, 448799, 39375, 713004, 997637, 488417}, new int[]{152833, 761069, 447939, 606444, 970519, 635043, 475253, 360946, 729617, 405541, 683128, 425780, 464445, 623889, 41671, 718069, 521979, 380768, 66856}, new int[]{505712, 555874, 365807, 620883, 673230, 310440, 158795, 29271, 790545, 144317, 324664, 11418, 348183, 404518, 105190, 931175, 142199, 756531, 317832, 607329, 130667, 337205, 282533, 487834, 67252, 42824, 262265, 274455, 297164, 474766, 608907, 50254, 411488, 296110, 221197, 238881, 821208, 678326, 461062, 695317, 835309, 438730, 829384, 226520, 429157, 565901, 144226, 307668, 459939, 803534}, new int[]{730765, 627130, 312284, 62324, 234755, 827645, 846265, 679872, 182276, 969748, 111615, 882540, 724422, 345819, 892935, 610902, 487048, 26505, 377413, 991062, 917769, 807962, 366477, 73077, 150650, 391916, 572743, 128947, 197472, 920854, 405941, 751106, 325285, 729320, 903440, 351865, 576086, 103740, 166159, 46813, 738142, 97573, 231684, 645047, 219786, 38063, 134654, 555714, 603778, 681137}));
//		ExampleRunner.eq(104, 2008794.4968834312, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{551501, 136999, 469164, 914486, 163374, 421122, 365867, 352288, 895552, 330672, 856507, 633106, 549112, 286451, 292680, 395059, 677592, 592507, 167118, 348235, 775285, 969596, 56860, 252038, 140326, 969363, 576108, 679506, 214012}, new int[]{365424, 229826, 116561, 682981, 749794, 120603, 250505, 110886, 299944, 979952, 474898, 164174, 93044, 352645, 312168, 844181, 50557, 665255, 506992, 848993, 287856, 141151, 321883, 470912, 582710, 996833, 602468, 125219, 965958}, new int[]{996364, 796625, 869373, 960479, 176469, 487370, 495089, 849560, 403806, 305067, 895832, 757053, 960726, 986162, 495378, 124687, 743864, 401662, 432526, 593614, 526737, 170699, 380637, 523508, 926679, 958786, 310967, 724703, 604497}, new int[]{506692, 909922, 992716, 980379, 646097, 43204, 262654, 464684, 906421, 174343, 963893, 865194, 851660, 640231, 718673, 491741, 439811, 613236, 880641, 127495, 599483, 540325, 20258, 784443, 347074, 341009, 234337, 271692, 710864}));
//		ExampleRunner.eq(105, 1422612.4903908297, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{429536, 591616, 994921, 305135, 392417, 73441, 16731, 459478}, new int[]{555110, 173399, 993278, 945947, 417248, 919154, 244140, 397368}, new int[]{782898, 700310, 848560, 569085, 930431, 431218, 4650, 634802, 935250, 644585, 738194}, new int[]{982987, 228076, 177594, 159526, 293787, 534927, 380140, 952686, 744917, 448669, 949720}));
//		ExampleRunner.eq(106, 1824979.8951036257, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{885467, 568264, 546242, 532093, 36873, 896287, 329253, 663398, 5530, 146190, 351625, 839419, 261960, 353235, 201202, 615645, 570609, 936953, 854407, 683077, 229213, 624247, 635177, 700007, 4468, 544877, 982072, 971135, 190882, 492709, 326714, 98342, 663196, 51172, 541339, 927382}, new int[]{986556, 902198, 818065, 47727, 760169, 214467, 55813, 623041, 198324, 385670, 617376, 96541, 288088, 730179, 2345, 187758, 36342, 116850, 469045, 891281, 579364, 76966, 287644, 159206, 364696, 356093, 384295, 762531, 324369, 392085, 626854, 415822, 553794, 517602, 734249, 289051}, new int[]{313612, 366017, 357772, 626495, 949220, 755333, 74165, 212321, 569335, 175632, 850383, 830370, 346267, 68179, 134290, 176657, 584188, 952190, 127197, 341199, 268554, 44705, 859997, 644766, 517555, 843879, 612871}, new int[]{70128, 467288, 584523, 880740, 689871, 449790, 726467, 265048, 223529, 414548, 273974, 32077, 400041, 887606, 995561, 966402, 542674, 460460, 578684, 594916, 615031, 861219, 775526, 429331, 338897, 886437, 192748}));
//		ExampleRunner.eq(107, 2489604.5754367327, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{592789, 365243, 19252, 211980, 603074, 63900, 261352, 843686, 538630, 428123, 700916, 346457, 411786, 623406, 901583, 539294, 47112, 776949, 483436, 188305, 671597, 853779, 175803, 499853, 141352, 631559, 37864, 579237, 686850, 29805, 263062, 638303, 992136, 895040, 922680, 80579, 854049, 564224, 187319, 262784, 29051, 689439, 909357, 35065}, new int[]{505193, 245578, 60399, 603441, 164169, 248770, 923599, 48405, 406890, 398626, 72889, 218470, 708835, 543157, 541920, 12871, 904537, 66365, 988929, 605009, 252205, 451448, 215963, 232932, 446476, 842268, 978016, 968150, 202643, 106932, 569099, 828675, 415251, 475571, 83344, 594276, 452857, 29851, 582576, 328671, 412842, 66915, 787175, 596206}, new int[]{989818, 221637, 152469, 600054, 793691, 620175, 615436, 829145, 672110, 17834, 975945, 225098, 211959, 590411, 220211, 236021, 727345, 499907, 354597, 24417, 632052, 864657, 382344, 716971, 87169, 950881, 52422, 586608, 609015, 904197, 839493, 76253, 634875, 965151, 713120, 137758}, new int[]{64870, 771380, 859940, 144604, 13592, 716370, 219253, 469484, 393368, 377928, 799118, 4995, 433036, 121315, 143975, 728528, 976158, 879814, 618460, 148287, 163091, 247487, 693801, 572953, 253305, 63113, 175979, 264382, 695518, 347725, 658717, 566838, 94659, 989472, 989569, 863671}));
//		ExampleRunner.eq(108, 7071.067811865475, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{0}, new int[]{5000}, new int[]{5000}));
//		ExampleRunner.eq(109, 14142.13562373095, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 20000}, new int[]{0, 20000}, new int[]{5000, 25000}, new int[]{5000, 25000}));
//		ExampleRunner.eq(110, 346482.32278140826, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000, 220000, 240000, 260000, 280000, 300000, 320000, 340000, 360000, 380000, 400000, 420000, 440000, 460000, 480000, 500000, 520000, 540000, 560000, 580000, 600000, 620000, 640000, 660000, 680000, 700000, 720000, 740000, 760000, 780000, 800000, 820000, 840000, 860000, 880000, 900000, 920000, 940000, 960000}, new int[]{0, 20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000, 220000, 240000, 260000, 280000, 300000, 320000, 340000, 360000, 380000, 400000, 420000, 440000, 460000, 480000, 500000, 520000, 540000, 560000, 580000, 600000, 620000, 640000, 660000, 680000, 700000, 720000, 740000, 760000, 780000, 800000, 820000, 840000, 860000, 880000, 900000, 920000, 940000, 960000}, new int[]{5000, 25000, 45000, 65000, 85000, 105000, 125000, 145000, 165000, 185000, 205000, 225000, 245000, 265000, 285000, 305000, 325000, 345000, 365000, 385000, 405000, 425000, 445000, 465000, 485000, 505000, 525000, 545000, 565000, 585000, 605000, 625000, 645000, 665000, 685000, 705000, 725000, 745000, 765000, 785000, 805000, 825000, 845000, 865000, 885000, 905000, 925000, 945000, 965000}, new int[]{5000, 25000, 45000, 65000, 85000, 105000, 125000, 145000, 165000, 185000, 205000, 225000, 245000, 265000, 285000, 305000, 325000, 345000, 365000, 385000, 405000, 425000, 445000, 465000, 485000, 505000, 525000, 545000, 565000, 585000, 605000, 625000, 645000, 665000, 685000, 705000, 725000, 745000, 765000, 785000, 805000, 825000, 845000, 865000, 885000, 905000, 925000, 945000, 965000}));
//		ExampleRunner.eq(111, 353553.39059327374, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000, 220000, 240000, 260000, 280000, 300000, 320000, 340000, 360000, 380000, 400000, 420000, 440000, 460000, 480000, 500000, 520000, 540000, 560000, 580000, 600000, 620000, 640000, 660000, 680000, 700000, 720000, 740000, 760000, 780000, 800000, 820000, 840000, 860000, 880000, 900000, 920000, 940000, 960000, 980000}, new int[]{0, 20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000, 220000, 240000, 260000, 280000, 300000, 320000, 340000, 360000, 380000, 400000, 420000, 440000, 460000, 480000, 500000, 520000, 540000, 560000, 580000, 600000, 620000, 640000, 660000, 680000, 700000, 720000, 740000, 760000, 780000, 800000, 820000, 840000, 860000, 880000, 900000, 920000, 940000, 960000, 980000}, new int[]{5000, 25000, 45000, 65000, 85000, 105000, 125000, 145000, 165000, 185000, 205000, 225000, 245000, 265000, 285000, 305000, 325000, 345000, 365000, 385000, 405000, 425000, 445000, 465000, 485000, 505000, 525000, 545000, 565000, 585000, 605000, 625000, 645000, 665000, 685000, 705000, 725000, 745000, 765000, 785000, 805000, 825000, 845000, 865000, 885000, 905000, 925000, 945000, 965000, 985000}, new int[]{5000, 25000, 45000, 65000, 85000, 105000, 125000, 145000, 165000, 185000, 205000, 225000, 245000, 265000, 285000, 305000, 325000, 345000, 365000, 385000, 405000, 425000, 445000, 465000, 485000, 505000, 525000, 545000, 565000, 585000, 605000, 625000, 645000, 665000, 685000, 705000, 725000, 745000, 765000, 785000, 805000, 825000, 845000, 865000, 885000, 905000, 925000, 945000, 965000, 985000}));
//		ExampleRunner.eq(112, 5000.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{0}, new int[]{5000}, new int[]{0}));
//		ExampleRunner.eq(113, 10000.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 20000}, new int[]{0, 0}, new int[]{5000, 25000}, new int[]{0, 0}));
//		ExampleRunner.eq(114, 245000.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000, 220000, 240000, 260000, 280000, 300000, 320000, 340000, 360000, 380000, 400000, 420000, 440000, 460000, 480000, 500000, 520000, 540000, 560000, 580000, 600000, 620000, 640000, 660000, 680000, 700000, 720000, 740000, 760000, 780000, 800000, 820000, 840000, 860000, 880000, 900000, 920000, 940000, 960000}, new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, new int[]{5000, 25000, 45000, 65000, 85000, 105000, 125000, 145000, 165000, 185000, 205000, 225000, 245000, 265000, 285000, 305000, 325000, 345000, 365000, 385000, 405000, 425000, 445000, 465000, 485000, 505000, 525000, 545000, 565000, 585000, 605000, 625000, 645000, 665000, 685000, 705000, 725000, 745000, 765000, 785000, 805000, 825000, 845000, 865000, 885000, 905000, 925000, 945000, 965000}, new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}));
//		ExampleRunner.eq(115, 250000.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 20000, 40000, 60000, 80000, 100000, 120000, 140000, 160000, 180000, 200000, 220000, 240000, 260000, 280000, 300000, 320000, 340000, 360000, 380000, 400000, 420000, 440000, 460000, 480000, 500000, 520000, 540000, 560000, 580000, 600000, 620000, 640000, 660000, 680000, 700000, 720000, 740000, 760000, 780000, 800000, 820000, 840000, 860000, 880000, 900000, 920000, 940000, 960000, 980000}, new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, new int[]{5000, 25000, 45000, 65000, 85000, 105000, 125000, 145000, 165000, 185000, 205000, 225000, 245000, 265000, 285000, 305000, 325000, 345000, 365000, 385000, 405000, 425000, 445000, 465000, 485000, 505000, 525000, 545000, 565000, 585000, 605000, 625000, 645000, 665000, 685000, 705000, 725000, 745000, 765000, 785000, 805000, 825000, 845000, 865000, 885000, 905000, 925000, 945000, 965000, 985000}, new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}));
//		ExampleRunner.eq(116, 2920799.680255744, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1000000}, new int[]{1000000}, new int[]{1000000, 40000, 1000000, 80000, 1000000, 120000, 1000000, 160000, 1000000, 200000, 1000000, 240000, 1000000, 280000, 1000000, 320000, 1000000, 360000, 1000000, 400000, 1000000, 440000, 1000000, 480000, 1000000, 520000, 1000000, 560000, 1000000, 600000, 1000000, 640000, 1000000, 680000, 1000000, 720000, 1000000, 760000, 1000000, 800000, 1000000, 840000, 1000000, 880000, 1000000, 920000, 1000000, 960000, 0}, new int[]{40000, 1000000, 80000, 1000000, 120000, 1000000, 160000, 1000000, 200000, 1000000, 240000, 1000000, 280000, 1000000, 320000, 1000000, 360000, 1000000, 400000, 1000000, 440000, 1000000, 480000, 1000000, 520000, 1000000, 560000, 1000000, 600000, 1000000, 640000, 1000000, 680000, 1000000, 720000, 1000000, 760000, 1000000, 800000, 1000000, 840000, 1000000, 880000, 1000000, 920000, 1000000, 960000, 1000000, 0}));
//		ExampleRunner.eq(117, 2940763.308239744, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1000000}, new int[]{1000000}, new int[]{1000000, 40000, 1000000, 80000, 1000000, 120000, 1000000, 160000, 1000000, 200000, 1000000, 240000, 1000000, 280000, 1000000, 320000, 1000000, 360000, 1000000, 400000, 1000000, 440000, 1000000, 480000, 1000000, 520000, 1000000, 560000, 1000000, 600000, 1000000, 640000, 1000000, 680000, 1000000, 720000, 1000000, 760000, 1000000, 800000, 1000000, 840000, 1000000, 880000, 1000000, 920000, 1000000, 960000, 0, 50000}, new int[]{40000, 1000000, 80000, 1000000, 120000, 1000000, 160000, 1000000, 200000, 1000000, 240000, 1000000, 280000, 1000000, 320000, 1000000, 360000, 1000000, 400000, 1000000, 440000, 1000000, 480000, 1000000, 520000, 1000000, 560000, 1000000, 600000, 1000000, 640000, 1000000, 680000, 1000000, 720000, 1000000, 760000, 1000000, 800000, 1000000, 840000, 1000000, 880000, 1000000, 920000, 1000000, 960000, 1000000, 0, 50000}));
//		ExampleRunner.eq(118, 4.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{9}, new int[]{4}, new int[]{9}, new int[]{0}));
//		ExampleRunner.eq(119, 19.88362701190674, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{9}, new int[]{1}, new int[]{5, 7, 2, 3, 10, 8, 10}, new int[]{4, 2, 8, 2, 5, 7, 4}));
//		ExampleRunner.eq(120, 59.79898987322332, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{6}, new int[]{10}, new int[]{6, 4, 2, 5, 1, 8, 1, 7, 9, 6, 10, 0, 3, 6, 0, 0, 8, 7, 1, 1, 2, 9, 5, 7, 6, 8, 4, 0, 7, 3, 9, 10, 3, 5, 3, 3, 0, 10, 1, 9, 0, 2, 5, 4, 10, 5, 0, 2, 8}, new int[]{7, 2, 9, 4, 3, 8, 4, 4, 3, 9, 9, 9, 6, 1, 1, 6, 5, 8, 1, 0, 7, 1, 8, 1, 6, 4, 10, 8, 0, 0, 5, 10, 10, 1, 4, 9, 5, 0, 8, 8, 10, 10, 6, 8, 7, 2, 4, 0, 2}));
//		ExampleRunner.eq(121, 59.135562914111446, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{6}, new int[]{2, 2, 7, 6, 5, 10, 4, 7, 6, 8, 5, 9, 3, 5, 6, 5, 0, 2, 9, 6, 0, 2, 7, 6, 0, 9, 0, 1, 4, 8, 1, 6, 3, 7, 9, 1, 4, 3, 3, 5, 1, 5, 5, 8, 8, 10, 3, 4, 7, 10}, new int[]{10, 2, 7, 4, 1, 10, 2, 6, 7, 5, 10, 1, 9, 3, 3, 5, 4, 6, 5, 5, 1, 8, 5, 2, 10, 6, 5, 4, 3, 2, 3, 1, 6, 10, 7, 10, 0, 2, 4, 9, 9, 7, 0, 1, 7, 7, 0, 5, 0, 1}));
//		ExampleRunner.eq(122, 2.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{10, 8, 3, 5, 7, 0, 1}, new int[]{0, 9, 3, 0, 0, 0, 7}, new int[]{10}, new int[]{9}));
//		ExampleRunner.eq(123, 13.72134935173836, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{3, 3, 10, 7, 10, 6, 7}, new int[]{9, 4, 5, 6, 3, 8, 2}, new int[]{2, 0, 6, 4, 4, 0, 9}, new int[]{5, 6, 3, 2, 4, 3, 0}));
//		ExampleRunner.eq(124, 53.55634918610402, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{10, 9, 1, 6, 2, 10, 1}, new int[]{10, 1, 6, 8, 4, 6, 2}, new int[]{10, 4, 1, 8, 4, 7, 3, 9, 10, 8, 0, 7, 5, 6, 8, 1, 6, 1, 7, 0, 10, 0, 2, 0, 8, 0, 1, 5, 7, 4, 10, 4, 0, 9, 9, 0, 9, 2, 7, 9, 4, 3, 6, 2, 6, 10, 1, 3, 1}, new int[]{9, 2, 3, 7, 1, 6, 8, 0, 4, 1, 1, 0, 6, 5, 4, 0, 2, 1, 5, 3, 1, 6, 10, 8, 5, 0, 4, 7, 1, 6, 0, 9, 4, 5, 9, 7, 8, 7, 3, 10, 5, 0, 3, 9, 0, 2, 9, 3, 7}));
//		ExampleRunner.eq(125, 55.13556291411143, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 1, 6, 6, 6, 9, 7}, new int[]{0, 8, 5, 2, 8, 9, 8}, new int[]{0, 7, 9, 4, 6, 4, 7, 4, 2, 6, 8, 3, 0, 1, 2, 7, 9, 7, 5, 8, 3, 2, 2, 9, 2, 0, 5, 0, 10, 1, 6, 4, 8, 3, 5, 4, 9, 8, 3, 0, 5, 7, 10, 8, 7, 4, 10, 8, 6, 1}, new int[]{5, 9, 2, 8, 4, 7, 4, 6, 3, 7, 2, 4, 10, 9, 9, 0, 1, 2, 1, 1, 10, 7, 0, 5, 4, 0, 9, 1, 7, 4, 9, 9, 10, 9, 6, 1, 6, 0, 8, 8, 8, 1, 2, 3, 3, 2, 4, 8, 6, 1}));
//		ExampleRunner.eq(126, 1.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 1, 9, 0, 6, 9, 3, 2, 0, 6, 3, 4, 2, 6, 10, 8, 1, 7, 3, 4, 0, 7, 8, 8, 8, 0, 0, 9, 9, 5, 2, 5, 5, 2, 8, 3, 9, 4, 4, 7, 9, 10, 5, 0, 5, 7, 10, 3, 9}, new int[]{6, 10, 7, 7, 5, 10, 0, 6, 1, 9, 1, 2, 0, 7, 5, 8, 7, 8, 6, 9, 0, 4, 10, 1, 0, 2, 4, 8, 6, 10, 10, 5, 8, 4, 7, 3, 9, 4, 5, 2, 3, 0, 1, 10, 3, 3, 2, 8, 5}, new int[]{0}, new int[]{5}));
//		ExampleRunner.eq(127, 7.414213562373095, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{10, 10, 3, 7, 2, 10, 4, 3, 0, 10, 9, 8, 9, 4, 6, 1, 5, 5, 4, 4, 8, 2, 4, 7, 1, 3, 8, 0, 10, 6, 6, 5, 6, 1, 6, 5, 7, 5, 10, 1, 9, 2, 7, 8, 3, 7, 7, 7, 5}, new int[]{2, 4, 6, 0, 4, 5, 10, 7, 8, 8, 9, 9, 1, 7, 4, 3, 9, 8, 0, 3, 8, 9, 1, 3, 8, 5, 3, 0, 6, 1, 10, 1, 5, 0, 9, 5, 6, 4, 10, 5, 7, 1, 5, 5, 2, 8, 1, 7, 0}, new int[]{7, 1, 10, 1, 3, 0, 7}, new int[]{9, 7, 7, 9, 8, 4, 4}));
//		ExampleRunner.eq(128, 49.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{2, 1, 6, 10, 0, 0, 10, 0, 9, 6, 4, 6, 6, 8, 4, 0, 2, 5, 7, 3, 7, 3, 4, 9, 2, 7, 6, 7, 6, 5, 10, 9, 0, 1, 1, 3, 6, 5, 3, 0, 8, 2, 2, 6, 8, 8, 4, 7, 8}, new int[]{6, 2, 10, 7, 0, 3, 0, 8, 1, 5, 5, 8, 0, 1, 2, 5, 7, 2, 2, 8, 0, 5, 8, 0, 4, 4, 7, 6, 4, 4, 10, 5, 4, 7, 6, 6, 1, 10, 3, 6, 8, 9, 5, 3, 2, 0, 1, 7, 3}, new int[]{3, 2, 1, 2, 3, 4, 1, 7, 3, 3, 2, 3, 10, 10, 0, 10, 9, 1, 8, 10, 8, 10, 3, 0, 1, 3, 10, 6, 1, 8, 2, 0, 5, 9, 8, 5, 7, 9, 1, 5, 10, 4, 0, 7, 9, 4, 9, 5, 9}, new int[]{4, 0, 4, 8, 1, 10, 0, 1, 7, 9, 2, 0, 9, 3, 10, 4, 7, 1, 5, 6, 10, 1, 2, 7, 9, 10, 5, 6, 8, 4, 3, 9, 3, 9, 6, 7, 10, 10, 5, 8, 2, 7, 1, 3, 3, 6, 8, 0, 4}));
//		ExampleRunner.eq(129, 50.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{8, 8, 2, 3, 6, 9, 1, 1, 1, 9, 3, 10, 1, 6, 6, 0, 4, 2, 3, 10, 6, 1, 0, 8, 3, 5, 5, 2, 9, 5, 7, 9, 8, 8, 3, 8, 5, 4, 4, 7, 4, 0, 9, 9, 6, 7, 0, 5, 1}, new int[]{5, 6, 8, 8, 9, 9, 9, 0, 10, 4, 2, 7, 4, 2, 3, 3, 6, 5, 3, 1, 5, 6, 6, 3, 5, 9, 4, 6, 7, 8, 3, 6, 7, 1, 9, 9, 5, 5, 0, 10, 8, 9, 3, 8, 4, 6, 8, 7, 1}, new int[]{7, 8, 10, 8, 7, 8, 3, 10, 0, 10, 8, 2, 2, 0, 0, 10, 5, 4, 6, 1, 10, 6, 2, 9, 5, 5, 2, 1, 3, 2, 0, 0, 7, 3, 6, 5, 6, 9, 8, 3, 2, 7, 10, 4, 5, 7, 6, 1, 7, 2}, new int[]{9, 10, 5, 8, 2, 4, 0, 10, 1, 2, 2, 1, 4, 0, 5, 3, 6, 10, 8, 2, 4, 6, 2, 10, 1, 0, 10, 7, 4, 0, 2, 4, 4, 7, 1, 10, 0, 0, 0, 6, 9, 0, 8, 4, 3, 1, 10, 8, 5, 3}));
//		ExampleRunner.eq(130, 1.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{3, 4, 6, 4, 0, 1, 5, 6, 0, 8, 5, 8, 2, 3, 3, 10, 0, 1, 10, 0, 5, 6, 0, 10, 7, 10, 4, 7, 3, 4, 5, 0, 2, 1, 1, 5, 0, 10, 9, 3, 10, 4, 9, 10, 4, 4, 5, 1, 7, 7}, new int[]{8, 6, 6, 7, 7, 6, 9, 3, 1, 9, 5, 1, 4, 4, 5, 5, 5, 4, 10, 9, 2, 10, 0, 6, 3, 3, 1, 6, 10, 9, 3, 2, 10, 7, 5, 4, 3, 8, 6, 1, 2, 3, 2, 1, 8, 4, 8, 2, 7, 10}, new int[]{7}, new int[]{8}));
//		ExampleRunner.eq(131, 8.414213562373096, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{6, 6, 9, 1, 1, 6, 1, 7, 2, 0, 1, 1, 2, 6, 9, 5, 3, 9, 4, 1, 3, 6, 4, 7, 10, 0, 7, 6, 1, 2, 0, 5, 7, 10, 6, 1, 9, 10, 1, 9, 4, 3, 8, 8, 2, 9, 6, 4, 3, 8}, new int[]{6, 9, 3, 4, 10, 10, 0, 3, 10, 5, 7, 9, 3, 7, 10, 5, 6, 2, 3, 5, 7, 3, 5, 4, 9, 10, 5, 2, 2, 4, 3, 4, 7, 0, 5, 6, 8, 4, 8, 1, 4, 4, 7, 3, 7, 9, 0, 9, 5, 10}, new int[]{3, 7, 5, 9, 2, 5, 4}, new int[]{3, 0, 6, 6, 0, 7, 1}));
//		ExampleRunner.eq(132, 49.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{9, 0, 9, 10, 8, 1, 6, 8, 8, 3, 9, 2, 7, 4, 9, 6, 1, 8, 9, 7, 4, 1, 1, 5, 4, 0, 6, 6, 9, 0, 8, 2, 2, 0, 10, 4, 0, 9, 6, 3, 5, 2, 8, 7, 7, 10, 9, 10, 5, 3}, new int[]{4, 3, 2, 6, 8, 8, 1, 4, 0, 7, 8, 1, 0, 10, 1, 3, 9, 7, 6, 8, 6, 10, 2, 8, 8, 9, 5, 8, 3, 7, 3, 8, 3, 8, 0, 5, 4, 9, 2, 2, 5, 2, 2, 5, 2, 8, 0, 3, 0, 10}, new int[]{4, 2, 4, 1, 4, 0, 6, 2, 0, 1, 3, 5, 1, 9, 3, 7, 7, 2, 10, 5, 8, 2, 4, 4, 8, 10, 2, 8, 5, 3, 7, 0, 1, 4, 9, 4, 1, 5, 7, 0, 6, 3, 0, 10, 10, 10, 2, 5, 6}, new int[]{0, 4, 9, 4, 1, 6, 7, 5, 10, 7, 8, 1, 6, 5, 1, 10, 3, 6, 2, 7, 5, 9, 3, 2, 10, 5, 0, 9, 10, 4, 6, 0, 5, 4, 7, 7, 1, 2, 7, 1, 0, 6, 2, 9, 4, 7, 7, 4, 10}));
//		ExampleRunner.eq(133, 50.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{7, 10, 5, 0, 4, 4, 7, 8, 0, 8, 3, 1, 7, 7, 6, 7, 6, 10, 9, 6, 9, 0, 6, 2, 2, 3, 4, 6, 5, 5, 9, 10, 8, 7, 8, 9, 1, 2, 1, 4, 2, 10, 4, 10, 2, 3, 8, 3, 0, 6}, new int[]{0, 5, 1, 0, 0, 8, 3, 3, 3, 8, 0, 8, 2, 8, 1, 4, 2, 4, 1, 0, 3, 8, 9, 0, 4, 7, 7, 3, 10, 6, 7, 7, 4, 10, 10, 9, 0, 7, 6, 10, 6, 10, 5, 8, 1, 5, 0, 1, 2, 5}, new int[]{6, 4, 5, 2, 10, 7, 6, 2, 4, 1, 6, 9, 5, 3, 10, 0, 5, 5, 10, 3, 6, 0, 1, 8, 1, 9, 8, 6, 10, 1, 1, 2, 10, 9, 9, 2, 0, 8, 9, 3, 5, 9, 4, 4, 1, 5, 5, 8, 7, 9}, new int[]{4, 6, 2, 5, 9, 5, 8, 3, 9, 2, 10, 5, 3, 9, 1, 5, 8, 4, 3, 4, 7, 4, 7, 1, 9, 4, 6, 6, 6, 10, 3, 2, 0, 8, 10, 8, 7, 9, 2, 3, 5, 0, 3, 1, 4, 9, 0, 7, 1, 6}));
//		ExampleRunner.eq(134, 20.07106781186548, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 1, 4, 0, 6, 10, 9, 3, 3, 5, 6, 9, 10, 7, 9}, new int[]{5, 1, 5, 7, 2, 5, 7, 10, 9, 1, 8, 2, 10, 10, 9}, new int[]{4, 8, 5, 3, 9, 6, 6, 5, 0, 7, 1, 8, 1, 2, 3, 10, 7, 7}, new int[]{0, 7, 7, 0, 1, 7, 9, 10, 9, 9, 2, 9, 8, 1, 6, 2, 3, 2}));
//		ExampleRunner.eq(135, 45.828427124746185, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{6, 8, 0, 9, 8, 5, 0, 6, 2, 2, 10, 3, 9, 0, 5, 4, 6, 0, 1, 2, 2}, new int[]{6, 5, 0, 8, 9, 6, 1, 5, 4, 1, 3, 7, 5, 5, 4, 9, 7, 9, 10, 10, 2}, new int[]{1, 1, 1, 5, 4, 4, 2, 7, 4, 4, 10, 6, 9, 4, 3, 1, 8, 1, 7, 2, 3, 9, 5, 4, 1, 0, 1, 1, 7, 6, 2, 4, 2, 4, 10, 7, 7, 9, 5, 0, 0, 8, 10, 7}, new int[]{3, 6, 1, 3, 7, 5, 8, 7, 1, 10, 4, 4, 2, 6, 2, 9, 6, 2, 8, 5, 1, 3, 10, 3, 7, 8, 8, 4, 2, 3, 9, 8, 6, 0, 6, 5, 4, 0, 0, 7, 3, 4, 2, 1}));
//		ExampleRunner.eq(136, 54.07106781186546, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 5, 9, 1, 9, 8, 4}, new int[]{8, 4, 3, 2, 4, 9, 7}, new int[]{4, 3, 6, 9, 3, 10, 5, 4, 6, 7, 8, 0, 4, 10, 9, 2, 2, 9, 8, 7, 4, 7, 8, 7, 0, 5, 10, 1, 10, 0, 3, 8, 5, 0, 3, 8, 8, 3, 6, 6, 3, 5, 3, 0, 4, 3, 4, 5, 1}, new int[]{6, 10, 4, 9, 0, 0, 8, 3, 7, 2, 7, 10, 4, 7, 2, 0, 10, 5, 3, 7, 1, 1, 0, 9, 4, 9, 10, 8, 3, 6, 6, 6, 2, 9, 7, 1, 4, 8, 6, 5, 3, 6, 2, 7, 9, 5, 10, 1, 6}));
//		ExampleRunner.eq(137, 25.414213562373096, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 10, 6, 1, 4, 6, 3, 1, 8, 6, 10, 7, 6, 9, 10, 0, 1, 1, 2, 1, 3, 3, 8, 1, 8, 3, 9, 2, 8, 7, 8, 5, 0, 3, 10, 1, 9, 5, 4, 1, 2, 4, 6, 9, 7}, new int[]{5, 7, 3, 1, 3, 7, 2, 3, 10, 6, 0, 7, 4, 4, 3, 7, 4, 5, 2, 8, 9, 3, 3, 6, 6, 4, 1, 8, 5, 9, 4, 2, 6, 0, 4, 7, 8, 6, 1, 9, 3, 9, 8, 6, 1}, new int[]{4, 10, 9, 2, 4, 4, 9, 8, 10, 7, 3, 0, 8, 9, 6, 2, 7, 0, 7, 5, 8, 7, 1, 4, 4}, new int[]{7, 8, 9, 10, 5, 2, 7, 9, 1, 6, 1, 1, 1, 2, 10, 1, 2, 2, 0, 7, 2, 5, 10, 4, 0}));
//		ExampleRunner.eq(138, 48.41421356237309, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{7, 6, 9, 1, 7, 3, 5, 0, 6, 1, 6, 0, 4, 9, 6, 4, 4, 9, 6, 9, 1, 9, 2, 1, 6, 8, 0, 10, 5, 5, 10, 9, 0}, new int[]{9, 6, 8, 10, 5, 4, 3, 0, 2, 9, 8, 1, 6, 5, 3, 5, 4, 9, 4, 2, 7, 4, 4, 3, 1, 0, 8, 7, 4, 8, 2, 10, 2}, new int[]{4, 8, 3, 7, 5, 7, 8, 3, 8, 6, 8, 7, 10, 3, 3, 0, 5, 1, 7, 0, 10, 10, 8, 5, 5, 1, 2, 3, 0, 7, 10, 9, 1, 4, 7, 3, 10, 7, 7, 2, 3, 7, 2, 2, 2, 10, 6, 0}, new int[]{7, 2, 8, 2, 9, 10, 3, 6, 6, 9, 10, 3, 6, 3, 5, 9, 5, 2, 7, 10, 4, 0, 1, 10, 1, 6, 8, 0, 3, 1, 10, 1, 1, 1, 8, 7, 1, 0, 6, 0, 2, 4, 1, 10, 6, 5, 7, 5}));
//		ExampleRunner.eq(139, 40.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{7, 0, 2, 6, 0, 2, 8, 2, 7, 0, 10, 8, 6, 9, 4, 6, 5, 9, 2, 1, 1, 10, 3, 8, 4, 8, 1, 7, 8, 5, 9, 8, 5, 5, 10, 3, 5, 0, 4, 9, 9}, new int[]{9, 10, 6, 8, 6, 1, 10, 2, 7, 3, 0, 1, 4, 8, 4, 2, 10, 6, 8, 2, 0, 9, 8, 6, 9, 8, 6, 8, 2, 5, 2, 3, 0, 2, 8, 2, 3, 4, 3, 3, 5}, new int[]{2, 7, 8, 0, 10, 6, 2, 0, 9, 10, 4, 7, 3, 8, 9, 9, 7, 0, 0, 7, 9, 4, 2, 8, 6, 9, 1, 1, 3, 0, 10, 1, 0, 7, 3, 10, 2, 10, 2, 4}, new int[]{10, 3, 0, 1, 5, 7, 3, 8, 4, 2, 5, 1, 1, 5, 10, 7, 6, 7, 9, 0, 0, 6, 5, 4, 6, 1, 4, 10, 4, 5, 4, 3, 2, 2, 6, 10, 4, 6, 9, 1}));
//		ExampleRunner.eq(140, 15.828427124746192, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{10, 6, 2, 1, 8, 6, 1, 3, 0, 3, 10, 4, 3, 3, 3, 5, 8, 10, 7, 8, 10, 7, 2, 4, 0, 1, 2, 6, 8, 0, 9, 5, 4, 7, 1, 9, 9, 7, 8, 0, 7, 3, 3, 4, 5, 9, 4}, new int[]{1, 2, 6, 9, 9, 1, 6, 5, 0, 6, 5, 8, 4, 7, 3, 4, 0, 3, 7, 4, 7, 9, 8, 7, 8, 4, 10, 7, 6, 5, 4, 6, 1, 8, 2, 6, 3, 3, 10, 4, 5, 10, 0, 2, 10, 8, 5}, new int[]{1, 2, 4, 7, 3, 8, 6, 1, 2, 7, 10, 5, 2, 8, 6}, new int[]{5, 0, 4, 4, 8, 3, 5, 8, 9, 10, 9, 0, 7, 5, 9}));
//		ExampleRunner.eq(141, 29.485281374238575, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{8, 5, 6, 3, 5, 10, 1, 7, 7, 0, 1, 0, 8, 4, 10, 8, 6, 3, 7, 10, 3, 8, 3, 6, 0, 4, 7, 1, 10, 9, 5, 4, 0}, new int[]{4, 9, 3, 6, 7, 9, 3, 3, 9, 9, 5, 3, 9, 10, 3, 5, 0, 1, 6, 4, 0, 8, 2, 1, 6, 9, 2, 4, 7, 5, 0, 6, 4}, new int[]{2, 9, 3, 5, 9, 2, 5, 10, 2, 6, 6, 7, 6, 8, 1, 10, 2, 1, 2, 3, 4, 0, 9, 4, 3, 5}, new int[]{9, 4, 7, 4, 0, 2, 1, 10, 4, 2, 7, 1, 10, 3, 10, 1, 5, 1, 3, 8, 7, 8, 8, 4, 3, 5}));
//		ExampleRunner.eq(142, 38.41421356237309, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{8, 9, 1, 1, 7, 1, 2, 8, 1, 10, 2, 2, 0, 6, 7, 5, 9, 6, 5, 10, 2, 1, 9, 4, 1, 9, 4, 7, 5, 8, 1, 7, 10, 3, 0, 8, 10, 6, 10, 8, 3, 7, 5, 1, 6, 4, 7, 8, 2, 5}, new int[]{9, 2, 6, 0, 6, 10, 8, 4, 8, 1, 2, 10, 9, 8, 8, 8, 9, 6, 7, 6, 4, 4, 8, 7, 7, 3, 5, 4, 2, 7, 2, 10, 2, 3, 8, 5, 0, 3, 9, 6, 2, 9, 4, 5, 5, 10, 2, 3, 7, 5}, new int[]{3, 9, 9, 2, 0, 9, 10, 5, 10, 9, 3, 8, 0, 4, 3, 7, 3, 5, 3, 6, 6, 0, 0, 9, 6, 5, 4, 10, 4, 5, 8, 2, 7, 0, 0, 10, 4, 7}, new int[]{10, 4, 7, 6, 0, 5, 3, 6, 5, 1, 1, 8, 6, 6, 7, 3, 6, 10, 4, 9, 7, 7, 5, 6, 10, 9, 9, 10, 4, 3, 0, 0, 1, 4, 10, 4, 0, 0}));
//		ExampleRunner.eq(143, 36.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{2, 6, 0, 6, 5, 3, 8, 4, 2, 9, 9, 1, 10, 5, 5, 9, 7, 10, 5, 2, 10, 8, 7, 5, 1, 9, 7, 4, 6, 1, 5, 0, 8, 7, 4, 4, 10, 10, 3, 2, 1, 6, 10, 6, 3, 4, 6, 10, 9}, new int[]{10, 2, 7, 5, 10, 7, 5, 3, 9, 4, 3, 10, 5, 2, 8, 7, 9, 2, 0, 6, 0, 8, 5, 7, 7, 0, 1, 0, 0, 2, 6, 2, 10, 10, 4, 5, 4, 3, 4, 7, 0, 8, 10, 3, 9, 6, 9, 1, 6}, new int[]{3, 9, 2, 3, 8, 1, 9, 4, 5, 1, 3, 10, 0, 3, 8, 2, 6, 1, 3, 4, 0, 5, 3, 2, 7, 6, 0, 0, 0, 10, 5, 7, 7, 10, 0, 7}, new int[]{2, 5, 1, 8, 6, 3, 1, 10, 3, 4, 10, 8, 0, 0, 2, 5, 7, 8, 1, 1, 3, 5, 6, 3, 8, 4, 9, 6, 8, 7, 4, 2, 4, 6, 5, 6}));
//		ExampleRunner.eq(144, 1414213.562373095, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{0}, new int[]{1000000}, new int[]{1000000}));
//		ExampleRunner.eq(145, 1414212.1481595326, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1}, new int[]{1}, new int[]{1000000}, new int[]{1000000}));
//		ExampleRunner.eq(146, 1414212.8552664907, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{1}, new int[]{1000000}, new int[]{1000000}));
//		ExampleRunner.eq(147, 6.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{3}, new int[]{0}, new int[]{4, 4, 3, 3}, new int[]{3, 4, 3, 4}));
//		ExampleRunner.eq(148, 1414207.1984994763, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 2}, new int[]{0, 7}, new int[]{99999, 1000000}, new int[]{99997, 1000000}));
//		ExampleRunner.eq(149, 1000003.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1}, new int[]{1000000}, new int[]{0, 1, 2, 3, 1}, new int[]{1, 1, 1, 1, 0}));
//		ExampleRunner.eq(150, 1414212.1481595326, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{999999}, new int[]{999999}, new int[]{0}, new int[]{0}));
//		ExampleRunner.eq(151, 1.4142135623730951, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1}, new int[]{1}, new int[]{0}, new int[]{0}));
//		ExampleRunner.eq(152, 15.899494936611667, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{6, 0}, new int[]{1, 6}, new int[]{16, 15, 14, 13, 1, 2, 4}, new int[]{1, 2, 2, 2, 0, 1, 1}));
//		ExampleRunner.eq(153, 9.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0, 0, 1, 1, 2, 2, 3}, new int[]{0, 3, 1, 3, 2, 3, 0}, new int[]{0, 0, 1, 1, 2, 2, 3, 3, 3}, new int[]{1, 2, 0, 2, 0, 1, 1, 2, 3}));
//		ExampleRunner.eq(154, 3.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 2}, new int[]{1, 1}, new int[]{1, 2, 3}, new int[]{2, 2, 2}));
//		ExampleRunner.eq(155, 1414213.562373095, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1000000}, new int[]{1000000}, new int[]{0}, new int[]{0}));
//		ExampleRunner.eq(156, 14.7122393876298, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1}, new int[]{11}, new int[]{2, 1, 0, 2, 0}, new int[]{0, 1, 2, 2, 0}));
//		ExampleRunner.eq(157, 2.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1}, new int[]{3}, new int[]{1, 1}, new int[]{1, 2}));
//		ExampleRunner.eq(158, 200.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{0}, new int[]{100, 100}, new int[]{100, 0}));
//		ExampleRunner.eq(159, 2.8284271247461903, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 2}, new int[]{1, 2}, new int[]{3, 4}, new int[]{3, 4}));
//		ExampleRunner.eq(160, 5.123105625617661, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 2}, new int[]{10, 0}, new int[]{1, 2}, new int[]{5, 1}));
//		ExampleRunner.eq(161, 2.8284271247461903, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{2}, new int[]{2}, new int[]{0, 1}, new int[]{0, 1}));
//		ExampleRunner.eq(162, 1776513.3405536292, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{232132, 879846, 123456, 132456, 132465, 2123, 321, 325, 231354, 1235, 1324, 13241, 13245, 131, 13241, 1324, 135435, 32435, 13543, 135431, 1354, 13543}, new int[]{332113, 12311, 897654, 54654, 134654, 343213, 1654, 13645, 13654, 354, 654, 65431, 13542, 231654, 13241, 13654, 1354, 16541, 165, 132123, 1, 999999}, new int[]{999999, 654645, 213654, 798721, 873212, 823184, 872313, 32421, 111111, 111132, 199111, 111121, 111654, 456987, 456456, 468111, 102021, 98137, 1, 456987, 978987, 4654}, new int[]{456789, 456789, 456789, 456789, 456789, 456789, 456789, 456789, 871321, 871321, 871321, 871321, 871321, 999999, 999999, 999999, 999999, 999999, 999999, 874546, 1, 486432}));
//		ExampleRunner.eq(163, 2.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1}, new int[]{0}, new int[]{3, 2}, new int[]{0, 0}));
//		ExampleRunner.eq(164, 1000019.1886131533, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 2, 3, 4}, new int[]{1, 2, 3, 4}, new int[]{10000, 10001, 42000, 1000000}, new int[]{25, 1, 96, 1}));
//		ExampleRunner.eq(165, 2.0, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{0}, new int[]{0}, new int[]{0, 1}, new int[]{1, 0}));
//		ExampleRunner.eq(166, 2.8284271247461903, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 100000}, new int[]{1, 100000}, new int[]{2, 100001}, new int[]{2, 100001}));
//		ExampleRunner.eq(167, 304.2694585883683, new KingdomXCitiesandVillagesAnother().determineLength(new int[]{1, 2, 600, 700, 1000000, 80000}, new int[]{80, 70, 640, 740, 840, 12000}, new int[]{1, 44, 34, 172, 144, 34, 88}, new int[]{2, 125, 66, 171, 168, 64, 126}));
  }
}
